AngularJS通過指令將HTML屬性進行了擴展。
AngularJS指令
AngularJS指令是帶有ng-前綴的擴展HTML屬性。
ng-app指令用來初始化AngularJS application。
ng-init指令用來初始化application數據。
ng-model指令用來將HTML控件(如input,select,textarea等)的值綁定到application數據。
<div ng-app="" ng-init="firstName='John'"> <p>Name: <input type="text" ng-model="firstName"></p> <p>You wrote: {{ firstName }}</p> </div>
ng-app指令同時也告訴AngularJS,它所在的<div>元素是AngularJS application的根元素,即作用域。
數據綁定
在上面的示例中,{{ firstName }}是一個AngularJS數據綁定表達式。
在AngularJS數據綁定中,AngularJS表達式使用AngularJS數據進行同步更新。
{{ firstName }}通過ng-model="firstName"同步更新數據。
<div ng-app="" ng-init="quantity=1;price=5"> Quantity: <input type="number" ng-model="quantity"> Costs: <input type="number" ng-model="price"> Total in dollar: {{ quantity * price }} </div>
![]() |
使用ng-init指令在AngularJS開發中非常普遍。在控制器一節中你將會看到更好的初始化數據的方法。 |
---|
重復HTML元素
ng-repeat指令用來重復創建一個HTML元素:
<div ng-app="" ng-init="names=['Jani','Hege','Kai']"> <ul> <li ng-repeat="x in names"> {{ x }} </li> </ul> </div>
在對象數組上使用ng-repeat指令:
<div ng-app="" ng-init="names=[ {name:'Jani',country:'Norway'}, {name:'Hege',country:'Sweden'}, {name:'Kai',country:'Denmark'}]"> <ul> <li ng-repeat="x in names"> {{ x.name + ', ' + x.country }} </li> </ul> </div>
![]() |
AngularJS非常適合數據庫CRUD(即創建,讀取,更新和刪除)操作。想象一下,如果這些對象來自于數據庫呢? |
---|
ng-app指令
ng-app指令定義了AngularJS application的根元素。
當Web頁面加載完成后,ng-app指令將auto-bootstrap(自動初始化)application。即自動初始化并引導AngularJS application執行。
在后面的章節中你將會學習到如何給ng-app指令指定一個值(例如ng-app="myModule"),從而與模塊聯系起來。
ng-init指令
ng-init指令用于為AngularJS application初始化值。
一般情況下不需要使用ng-init指令,而是使用控制器或者模塊來進行初始化工作。
在后面的章節中你將會學習到有關控制器和模塊的相關內容。
ng-model指令
ng-model指令用來將HTML控件(如input,select,textarea等)的值綁定到application數據。
ng-model指令還可以用來:
- 提供數據驗證(如驗證數字,email地址,必填項)。
- 提供數據的狀態(如invalid,dirty,touched,error)。
- 為HTML元素提供CSS樣式類。
- 將HTML元素綁定到HTML表單。
ng-repeat指令
ng-repeat指令用來為數據集合(或者數組)中的每一個元素生成一個對應的HTML元素。
文章列表