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