十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
本篇是內(nèi)部培訓(xùn)交流會(huì)的摘要總結(jié)。
培訓(xùn)PPT和示例代碼已托管至我的github倉(cāng)庫(kù):
https://github.com/dashnowords/blogs/tree/master/Demo/rebuild-angularjs-controller
一. 結(jié)構(gòu)拆分
小型項(xiàng)目
通過(guò)子路由實(shí)現(xiàn)拆分分層,父級(jí)控制器控制共享模塊,提供公共能力,子級(jí)分管自己的模塊,父子級(jí)之間通過(guò)消息機(jī)制進(jìn)行通訊。
中型項(xiàng)目
通過(guò)組合視圖實(shí)現(xiàn)模塊劃分,組合視圖共享同一個(gè)路由地址,分管不同的模塊,組合視圖之間需要通過(guò)父級(jí)控制器(或組合視圖的根控制器)來(lái)實(shí)現(xiàn)通訊。
大型項(xiàng)目
通過(guò)視圖組件指令,業(yè)務(wù)模塊指令來(lái)進(jìn)行更細(xì)粒度的模塊拆分,模塊通信依然建議通過(guò)消息機(jī)制來(lái)進(jìn)行。
二.基本代碼優(yōu)化
1.業(yè)務(wù)邏輯代碼
封裝Service,通過(guò)依賴注入在Controller中或指令中使用。
2.數(shù)據(jù)加工代碼
建議使用表達(dá)性更強(qiáng)的通用工具庫(kù)underscore.js
或lodash.js
提升效率,精簡(jiǎn)代碼。
3.DOM操作
建議學(xué)習(xí)和習(xí)慣Angular數(shù)據(jù)驅(qū)動(dòng)的主導(dǎo)思想,通過(guò)數(shù)據(jù)來(lái)啟用或消除DOM操作,具體的執(zhí)行需要通過(guò)自定義指令進(jìn)行實(shí)現(xiàn)。
總結(jié)
以上所述是小編給大家介紹的angularjs1.X 重構(gòu)controller 的方法小結(jié),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。