国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【教學(xué)向】再加150行代碼教你實現(xiàn)一個低配版的web component庫(1) —設(shè)計篇

Clect / 3313人閱讀

摘要:為的內(nèi)置一個方法,用法和原生的事件機(jī)制一毛一樣。

前言

上兩篇Mvvm教程的熱度超出我的預(yù)期,很多碼友留言表揚(yáng)同時希望我繼續(xù)出下一篇教程,當(dāng)時我也半開玩笑說只要點贊超10就兌現(xiàn)承諾,沒想到還真破了10,所以就有了今天的文章。

準(zhǔn)備工作

熟讀
【教學(xué)向】150行代碼教你實現(xiàn)一個低配版的MVVM庫(1)- 原理篇
【教學(xué)向】150行代碼教你實現(xiàn)一個低配版的MVVM庫(2)- 代碼篇

本篇是在上兩篇的基礎(chǔ)之上對代碼進(jìn)行進(jìn)一步擴(kuò)展,從而實現(xiàn)web component功能,所以讀者務(wù)必掌握mvvm的實現(xiàn)機(jī)制才能深入理解本篇的內(nèi)容(mvvm是web component的基石)。

什么才是好的 web component 設(shè)計

目前市面上各大主流前端框架,凡事帶web component功能的,他們的設(shè)計水準(zhǔn)基本都不入我的法眼,唯一看得上眼的是google的polymer,但是在某些API設(shè)計層面也顯得略微繁瑣(想了解polymer的朋友看一翻一下我專欄里面10篇polymer入門系列教程)

什么是component

html提供的原生標(biāo)簽,比如DIV, BUTTON, INPUT家族,Hx家族等等,這些就好比俄羅斯方塊里的一塊塊標(biāo)準(zhǔn)積木,我們稱它們?yōu)閟tand component

某一天這些積木不能滿足你的需求了,被擴(kuò)展或被組合形成了非基本形狀

這些新形狀就是custom component,自定義組件!為什么要有component呢,好處是什么呢?

 1. 可以復(fù)用
 2. 結(jié)構(gòu)清晰
 3. 獨立開發(fā)
 

你稍微開動下腦筋就能分析出來了,我就不展開了。

我心目中的web component

在座的各位都寫過index.html么?很簡單
主要就分成3大塊內(nèi)容,style, dom, script







然后外面用個包裹

所以這期低配版web component庫設(shè)計目的很簡單,作為一個開發(fā)人員,我希望在寫一個custom component的時候也能按照index.html的原生風(fēng)格來寫,這是多么的優(yōu)雅,自然,沒有學(xué)習(xí)成本啊!
這也應(yīng)該是無數(shù)人心目中的web component設(shè)計

API設(shè)計

所以,我們的SegmentFault.js v2.0的Web Component的設(shè)計宗旨就是,盡量接近原生的html結(jié)構(gòu)和使用習(xí)慣,接近原生從而把學(xué)習(xí)成本降到最低,是我追求的東西