angular技術方案的優點?
優點:1.模板功能強大豐富,并且是聲明式的,自帶了豐富的Angular指令。
2.是一個比較完善的前端MVVM框架,包含模板,數據雙向綁定,路由,模塊化,服務,過濾器,依賴注入等所有功能。
3.自定義Directive,比jQuery插件還靈活,但是需要深入了解Directive的一些特性,簡單的封裝容易,復雜一點官方沒有提供詳細的介紹文檔,我們可以通過閱讀源代碼來找到某些我們需要的東西,如:在directive使用 $parse。
4.ng模塊化比較大膽的引入了Java的一些東西(依賴注入),能夠很容易的寫出可復用的代碼,對于敏捷開發的團隊來說非常有幫助,我們的項目從上線到目前,UI變化很大,在摸索中迭代產品,但是js的代碼基本上很少改動。
缺點:
1.驗證功能錯誤信息顯示比較薄弱,需要寫很多模板標簽。2.ngView只能有一個,不能嵌套多個視圖,雖然有angular-ui/ui-router 解決,但ui-router 對于URL的控制不是很靈活,必須是嵌套式的。
3.對于特別復雜的應用場景,貌似性能有點問題,特別是在Windows下使用chrome瀏覽器,不知道是內存泄漏了還是什么其他問題,沒有找到好的解決方案,奇怪的是在IE10下反而很快,對此還在觀察中。
4.這次從1.0.X升級到1.2.X,貌似有比較大的調整,沒有完美兼容低版本,升級之后可能會導致一個兼容性的BUG,具體詳細信息參考官方文檔AngularJS,對應的中文版本:Angular 1.0到1.2 遷移指南,現在angularjs4都出來了,但是使用angularjs2的比較多。
5.ng提倡在控制器里面不要有操作DOM的代碼,對于一些jQuery 插件的使用,如果想不破壞代碼的整潔性,需要寫一些directive去封裝插件,但是現在有很多插件的版本已經支持Angular了,最好能夠和cordova插件結合進行混合式開發。