標籤:
1.AngularJS的雙向資料繫結(bi-directional data binding)
<!doctype html><html ng-app> <head> <script src="http://code.angularjs.org/angular-1.0.1.min.js"></script> </head> <body> Your name: <input type="text" ng-model="yourname" placeholder="World"> <hr> Hello {{yourname || ‘World‘}}! </body></html>
- 文本輸入指令
<input ng-model="yourname" />綁定到一個叫yourname的模型變數。
- 雙大括弧標記將
yourname模型變數添加到問候語文本。
- 不需要為該應用另外註冊一個事件接聽程式或添加事件處理常式!
- 現在試著在輸入框中鍵入名稱,鍵入的名稱將立即更新顯示在問候語中。 這就是AngularJS雙向資料繫結的概念。 輸入框的任何更改會立即反映到模型變數(一個方向),模型變數的任何更改都會立即反映到問候語文本中(另一方向)。
2.AngularJS應用的解析
描述AngularJS應用程式的三個組成部分,並解釋它們如何映射到 模型-視圖-控制器設計模式:
模板(Templates)
模板是用HTML和CSS編寫的檔案,展現應用的視圖。 可給HTML添加新的元素、屬性標記,作為AngularJS編譯器的指令。 AngularJS編譯器是完全可擴充的,這意味著通過AngularJS可以在HTML中構建您自己的HTML標記!
應用程式邏輯(Logic)和行為(Behavior)
應用程式邏輯和行為是用JavaScript定義的控制器。AngularJS與標準AJAX應用程式不同,不需要另外編寫接聽程式或DOM控制器,因為它們已經內建到AngularJS中了。
模型資料(Data)
模型是從AngularJS範圍對象的屬性引申的。模型中的資料可能是Javascript對象、數組或基本類型,這都不重要,重要的是,他們都屬於AngularJS範圍對象。
AngularJS通過範圍來保持資料模型與視圖介面UI的雙向同步。一旦模型狀態發生改變,AngularJS會立即重新整理反映在視圖介面中,反之亦然。
AngularJS快速開始