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

資訊專(zhuān)欄INFORMATION COLUMN

前端組件化演進(jìn)之路

DC_er / 658人閱讀

摘要:在一開(kāi)始編寫(xiě)代碼的時(shí)候還沒(méi)有組件這一說(shuō),慢慢地我們從開(kāi)始編寫(xiě)面向過(guò)程的代碼到面向?qū)ο蟮拇a再到組件化的代碼,一步步進(jìn)化到組件。將頁(yè)面上的兩個(gè)部分拆成兩個(gè)對(duì)象,那其實(shí)這兩個(gè)對(duì)象就是兩個(gè)組件。

組件


在一個(gè)頁(yè)面中我們可以把頁(yè)面的一部分拆成一個(gè)組件,可以是一個(gè)按鈕或者是一個(gè)導(dǎo)航欄。在一開(kāi)始編寫(xiě)代碼的時(shí)候還沒(méi)有組件這一說(shuō),慢慢地我們從開(kāi)始編寫(xiě)面向過(guò)程的代碼到面向?qū)ο蟮拇a再到組件化的代碼,一步步進(jìn)化到組件。

面向過(guò)程

以一個(gè)Todo List為例:


代碼示例:
這是一開(kāi)始實(shí)現(xiàn)的jquery代碼,將button和li的click事件的回調(diào)函數(shù)抽出來(lái)多帶帶成為一個(gè)函數(shù)。當(dāng)頁(yè)面的代碼量增長(zhǎng)為上千行時(shí),代碼的維護(hù)性會(huì)很差,需要先理解上千行代碼才敢繼續(xù)增加代碼。這時(shí)候可以用面向?qū)ο蟮木幊谭绞絹?lái)解決這個(gè)問(wèn)題。

面向?qū)ο?/b>

將input和button拆成todoList對(duì)象,ul為todoItem對(duì)象;
html頁(yè)面里面使用todoList對(duì)象:


todoList對(duì)象:

todoItem對(duì)象:

每個(gè)對(duì)象只管理自己的屬性和方法,只做自己這個(gè)對(duì)象的dom渲染和綁定事件;各個(gè)對(duì)象之間不會(huì)互相影響,大大降低了耦合性。將頁(yè)面上的兩個(gè)部分拆成兩個(gè)對(duì)象,那其實(shí)這兩個(gè)對(duì)象就是兩個(gè)組件。在對(duì)象的代碼中有dom展示、有js邏輯代碼,還可以在其中加入css樣式,這就相當(dāng)于事一個(gè)組件了。

jQuery實(shí)現(xiàn)組件化編程

在jquery類(lèi)上擴(kuò)展一個(gè)繼承方法:


有一個(gè)組件類(lèi)Component為父類(lèi),這個(gè)父類(lèi)有init、render、bind的空方法:

緊接著在todoList和todoItem里去繼承Component并且去覆蓋父類(lèi)里的render和bind方法,在子類(lèi)的構(gòu)造函數(shù)里去調(diào)用父類(lèi)的構(gòu)造函數(shù)。

React組件


從React官網(wǎng)上的截圖我們可以看到代碼中也有繼承,也有render函數(shù),其實(shí)在寫(xiě)組件的都是要去繼承類(lèi)并且去實(shí)現(xiàn)類(lèi)里的方法,就是在寫(xiě)面向?qū)ο蟮拇a。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/7359.html

相關(guān)文章

  • 新風(fēng)向!成就了Android,熱門(mén)框架排第一,你還是不夠了解它!

    摘要:由于長(zhǎng)期苦惱于第三方庫(kù)選擇的廣大開(kāi)發(fā)者而言,這也是谷歌為我們提供的一盞明燈。手機(jī)淘寶構(gòu)架演化實(shí)踐淘寶相信都不陌生了從年開(kāi)始,從萬(wàn)增長(zhǎng)到超過(guò)億,面臨的問(wèn)題包括研發(fā)支撐所需要解決的事情各不相同。 ...

    sixgo 評(píng)論0 收藏0
  • 2017年TOP100summit15位大咖擔(dān)任聯(lián)席主席甄選最值得學(xué)習(xí)的100個(gè)研發(fā)案例

    摘要:以下將分別從五大技術(shù)專(zhuān)場(chǎng)維度介紹本屆峰會(huì)的部分聯(lián)席主席與精選案例。天時(shí)間集中分享年最值得學(xué)習(xí)的個(gè)研發(fā)案例實(shí)踐。 從萬(wàn)維網(wǎng)到物聯(lián)網(wǎng),從信息傳播到人工智能,20年間軟件研發(fā)行業(yè)趨勢(shì)發(fā)生了翻天覆地的變化。大數(shù)據(jù)、云計(jì)算、AI等新興領(lǐng)域逐漸改變我們的生活方式,Devops、容器、深度學(xué)習(xí)、敏捷等技術(shù)方式和工作理念對(duì)軟件研發(fā)從業(yè)者提出更高要求。 由麥思博(msup)有限公司主辦的第六屆全球軟件案...

    andot 評(píng)論0 收藏0
  • 精華閱讀第 9 期 |滴滴出行 iOS 客戶(hù)端架構(gòu)演進(jìn)之路

    摘要:架構(gòu)都是演變出來(lái)的,沒(méi)有最好的架構(gòu),只有最合適的架構(gòu)最近,滴滴出行平臺(tái)產(chǎn)品中心技術(shù)負(fù)責(zé)人李賢輝接受了的采訪(fǎng),闡述了滴滴的客戶(hù)端架構(gòu)模式與演變過(guò)程。李賢輝也是移動(dòng)開(kāi)發(fā)精英俱樂(lè)部中的一員,所以本期重點(diǎn)推薦了這篇文章。 「架構(gòu)都是演變出來(lái)的,沒(méi)有最好的架構(gòu),只有最合適的架構(gòu)!」最近,滴滴出行平臺(tái)產(chǎn)品中心 iOS 技術(shù)負(fù)責(zé)人李賢輝接受了 infoQ 的采訪(fǎng),闡述了滴滴的 iOS 客戶(hù)端架構(gòu)模式...

    Eirunye 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<