成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

Clect / 3321人閱讀

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

前言

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

準(zhǔn)備工作

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

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

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

目前市面上各大主流前端框架,凡事帶web component功能的,他們的設(shè)計(jì)水準(zhǔn)基本都不入我的法眼,唯一看得上眼的是google的polymer,但是在某些API設(shè)計(jì)層面也顯得略微繁瑣(想了解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. 獨(dú)立開發(fā)
 

你稍微開動(dòng)下腦筋就能分析出來(lái)了,我就不展開了。

我心目中的web component

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







然后外面用個(gè)包裹

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

API設(shè)計(jì)

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