![]() |
VOOZH | about |
雙向綁定
等你業務到了一定規模,數據變化到視圖的展現可不是一個簡單的雙向綁定可以 hold 住的,你的視圖更新了你甚至可能不知道是哪裡的數據改動引起的。
給你另外一個角度去操作 DOM
簡化了你寫DOM操作,你看不到那些蛋疼的each,append。還你一個清晰地邏輯世界。
避免大量的用js操作dom,這樣能使代碼清晰,更便於維護。
Angular更適合於CRUD的管理系統開發
angular適合做表單,而且所有的mvvm都適合做表單。然後大型的mvvm比如angular會提供一系列和表單相關的支持。
搜尋引擎還只能拿到某個模版,而無內容。
需要SEO的。(SEO目前也有了prerender解決方案) https//prerender.io。
可測試模塊化編程
這個思路有兩點,1)模塊化 2)可測試。
未來趨勢就是:後台程序再也不做模板的任何處理
未來的發展趨勢是前端後端只靠json數據來進行通信:後端只處理和發送一段json數據到前端,然後計算和模板渲染都在前端進行。而前端的改動後,形成json數據然後傳回到後端。未來趨勢就是:後台程序再也不做模板的任何處理。
angular是符合發展趨勢的,第一,解耦前端,第二,可以模塊化,第三可測試,第四天生支持json,第五依賴注入等等等,還有一些其他特性使得angular跟隨甚至是推動了前端的開發趨勢。
angularjs本身是很好的前端模板引擎,未來發展就是後端的mvc產生json視圖(view)作為前端的模型(model),而整個前端的mvc是後端的視圖(view),中間通信就靠json。這樣前後端高度解耦,可以完全達到模塊化設計的要求。
隨著google的大力支持和逐漸流行,公司開始使用angular,有些崗位需要有angular的知識才能工作。
angularjs2
angularjs2就是angularjs1.x的MVVM+componet system。
一個完整項目結構是什麼樣的?
任何一個ng應用都是由控制器、指令、服務、路由、過濾器等有限的模塊類型構成的。
用一個總的app模塊作為入口點,它依賴其它所有模塊。
app
|--css
|--imgs
|--lib
|--js
|--app.js 作為啟動點的js
|--controllers.js 控制器 使用控制器封裝業務邏輯
|--directives.js 指令 使用指令封裝DOM操作
|--filters.js 過濾器 使用過濾器轉化輸出
|--services.js 服務 使用服務封裝可復用代碼
|--routes.js 前端路由
|--tpls ->templates 模板 hello.html
|--index.html 應用的主html文件
下面這幅圖是AngularJS的結構圖: