摘要:隨著頁(yè)面中相同或類(lèi)似的增加,使得代碼冗余度增加,的重用性問(wèn)題日益彰顯。影子使得這些與主文檔的保持分離。分離的原因是如果復(fù)雜頁(yè)面沒(méi)有很好的組織結(jié)構(gòu),樣式容易覆蓋。
為什么 Web Components?
早期在我們構(gòu)建web頁(yè)面時(shí),基本上都是通過(guò)組合HTML提供的標(biāo)簽來(lái)實(shí)現(xiàn)的,再簡(jiǎn)單點(diǎn)我們還可以拷貝黏貼bootstrap的css代碼。隨著頁(yè)面中相同或類(lèi)似UI的增加,使得代碼冗余度增加,UI的重用性問(wèn)題日益彰顯。
盡管像angular這樣的框架可以解決組件標(biāo)簽化重用的問(wèn)題,但是框架間的組件重用顯得無(wú)能為力了。
這時(shí) Web Components 的概念就出現(xiàn)了。
什么是 Web Components?它是一系列web平臺(tái)APIs(瀏覽器提供),允許你創(chuàng)建自定義的,可重用的,封裝的HTML標(biāo)簽。簡(jiǎn)單點(diǎn)說(shuō)就是一系列接口規(guī)則,希望瀏覽器們可以提供給開(kāi)發(fā)者,但是由于瀏覽器政治存在,進(jìn)度是緩慢的。
四個(gè)規(guī)范既然需要瀏覽器來(lái)實(shí)現(xiàn),也就需要規(guī)范,Web Components有四個(gè)規(guī)范(其中最重要的就是自定義元素和影子DOM):
1. 自定義標(biāo)簽自定義一些新的HTML標(biāo)簽,聲明其行為和樣式。可以分為兩類(lèi):自定義標(biāo)簽和自定義內(nèi)置元素。
2. 影子DOM為Web Components中的DOM和CSS提供封裝。影子DOM使得這些與主文檔的DOM保持分離。分離的原因是如果復(fù)雜頁(yè)面沒(méi)有很好的CSS組織結(jié)構(gòu),樣式容易覆蓋。
3. HTML導(dǎo)入 4. HTML模板支持模板標(biāo)簽
怎么實(shí)現(xiàn) Web Components?使用 ECMAScript 2015 類(lèi)語(yǔ)法創(chuàng)建一個(gè)類(lèi),指定組件的功能
customElements.define("your-component", YourComponentClass)注冊(cè)自定義的標(biāo)簽
Element.attachShadow() 將一個(gè)影子DOM附加到自定義元素上
和
接下來(lái)重點(diǎn)分析:
自定義元素和影子DOM
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/96071.html
摘要:更多相關(guān)介紹請(qǐng)看這特點(diǎn)僅僅只是虛擬最大限度減少與的交互類(lèi)似于使用操作單向數(shù)據(jù)流很大程度減少了重復(fù)代碼的使用組件化可組合一個(gè)組件易于和其它組件一起使用,或者嵌套在另一個(gè)組件內(nèi)部。在使用后,就變得很容易維護(hù),而且數(shù)據(jù)流非常清晰,容易解決遇到的。 歡迎移步我的博客閱讀:《React 入門(mén)實(shí)踐》 在寫(xiě)這篇文章之前,我已經(jīng)接觸 React 有大半年了。在初步學(xué)習(xí) React 之后就正式應(yīng)用到項(xiàng)...
摘要:前端日?qǐng)?bào)精選如何在非項(xiàng)目中使用知乎專(zhuān)欄編碼規(guī)范最常被遺忘的性能優(yōu)化瀏覽器緩存?zhèn)€人文章譯統(tǒng)一樣式語(yǔ)言掘金新的開(kāi)發(fā)者提及最多的個(gè)視頻眾成翻譯中文第期在中使用譯統(tǒng)一樣式語(yǔ)言掘金前端現(xiàn)狀答題救不了前端新人相學(xué)長(zhǎng)懟前端歲以 2017-06-29 前端日?qǐng)?bào) 精選 如何在非 React 項(xiàng)目中使用 Redux - 知乎專(zhuān)欄Javascript編碼規(guī)范 - Clearlove - SegmentFau...
摘要:今年以來(lái),的文檔更新很快完善社區(qū)也日漸狀大,再加上于某廠你懂的大力的推廣,的前景十分光明。一般情況下,中小型的系統(tǒng)從遷移到版本大概只需要天的時(shí)間。快去動(dòng)手嘗試吧原創(chuàng)新書(shū)移動(dòng)前端高效開(kāi)發(fā)實(shí)戰(zhàn)已在亞馬遜京東當(dāng)當(dāng)開(kāi)售。 作者:曉飛(滬江Web前端開(kāi)發(fā)工程師)本文原創(chuàng),轉(zhuǎn)載請(qǐng)注明作者及出處 Vue.js框架已經(jīng)火了好長(zhǎng)一段時(shí)間了,早在2015年的雙11中,淘寶的部分導(dǎo)購(gòu)業(yè)務(wù)——如:雙十一晚會(huì)搖...
摘要:前端日?qǐng)?bào)精選你可能不知道的前端知識(shí)點(diǎn)譯在服務(wù)端渲染的實(shí)現(xiàn)掘金小前端創(chuàng)建或文件并瀏覽器導(dǎo)出下載張?chǎng)涡聆慰臻g鑫生活代理服務(wù)器淺析知乎專(zhuān)欄快速打造簡(jiǎn)易高效的配置掘金中文譯組件解耦之道楓上霧棋的日志第期什么樣的工程師才能算老司機(jī) 2017-07-05 前端日?qǐng)?bào) 精選 你可能不知道的前端知識(shí)點(diǎn)[譯] React 在服務(wù)端渲染的實(shí)現(xiàn) - 掘金小tip:JS前端創(chuàng)建html或json文件并瀏覽器導(dǎo)出...
閱讀 2826·2021-11-11 17:21
閱讀 696·2021-09-23 11:22
閱讀 3641·2019-08-30 15:55
閱讀 1702·2019-08-29 17:15
閱讀 629·2019-08-29 16:38
閱讀 1005·2019-08-26 11:54
閱讀 2625·2019-08-26 11:53
閱讀 2817·2019-08-26 10:31