AngularJS 教程
本章節(jié)為你介紹 AngularJS 使用的一些指令。
AngularJS 通過被稱為 指令 的新屬性來擴(kuò)展 HTML。
AngularJS 通過內(nèi)置的指令來為應(yīng)用添加功能。
AngularJS 允許你自定義指令。
AngularJS 指令是擴(kuò)展的 HTML 屬性,帶有前綴 ng-。
ng-app 指令初始化一個(gè) AngularJS 應(yīng)用程序。
ng-init 指令初始化應(yīng)用程序數(shù)據(jù)。
ng-model 指令把元素值(比如輸入域的值)綁定到應(yīng)用程序。
完整的指令內(nèi)容可以參閱 AngularJS 參考手冊。
ng-app 指令告訴 AngularJS,<div> 元素是 AngularJS 應(yīng)用程序 的"所有者"。
上面實(shí)例中的 {{ firstName }} 表達(dá)式是一個(gè) AngularJS 數(shù)據(jù)綁定表達(dá)式。
AngularJS 中的數(shù)據(jù)綁定,同步了 AngularJS 表達(dá)式與 AngularJS 數(shù)據(jù)。
{{ firstName }} 是通過 ng-model="firstName" 進(jìn)行同步。
在下一個(gè)實(shí)例中,兩個(gè)文本域是通過兩個(gè) ng-model 指令同步的:
![]() |
使用 ng-init 不是很常見。您將在控制器一章中學(xué)習(xí)到一個(gè)更好的初始化數(shù)據(jù)的方式。 |
---|
ng-repeat 指令會重復(fù)一個(gè) HTML 元素:
ng-repeat 指令用在一個(gè)對象數(shù)組上:
![]() |
AngularJS 完美支持?jǐn)?shù)據(jù)庫的 CRUD(增加Create、讀取Read、更新Update、刪除Delete)應(yīng)用程序。 把實(shí)例中的對象想象成數(shù)據(jù)庫中的記錄。 |
---|
ng-app 指令定義了 AngularJS 應(yīng)用程序的 根元素。
ng-app 指令在網(wǎng)頁加載完畢時(shí)會自動引導(dǎo)(自動初始化)應(yīng)用程序。
稍后您將學(xué)習(xí)到 ng-app 如何通過一個(gè)值(比如 ng-app="myModule")連接到代碼模塊。
ng-init 指令為 AngularJS 應(yīng)用程序定義了 初始值。
通常情況下,不使用 ng-init。您將使用一個(gè)控制器或模塊來代替它。
稍后您將學(xué)習(xí)更多有關(guān)控制器和模塊的知識。
ng-model 指令 綁定 HTML 元素 到應(yīng)用程序數(shù)據(jù)。
ng-model 指令也可以:
ng-repeat 指令對于集合中(數(shù)組中)的每個(gè)項(xiàng)會 克隆一次 HTML 元素。
除了 AngularJS 內(nèi)置的指令外,我們還可以創(chuàng)建自定義指令。
你可以使用 .directive 函數(shù)來添加自定義的指令。
要調(diào)用自定義指令,HTML 元素上需要添加自定義指令名。
使用駝峰法來命名一個(gè)指令, jsonDirective, 但在使用它時(shí)需要以 - 分割, json-directive:
你可以通過以下方式來調(diào)用指令:
以下實(shí)例方式也能輸出同樣結(jié)果:
你可以限制你的指令只能通過特定的方式來調(diào)用。
通過添加 restrict 屬性,并設(shè)置值為 "A"
,
來設(shè)置指令只能通過屬性的方式來調(diào)用:
restrict 值可以是以下幾種:
E
作為元素名使用A
作為屬性使用C
作為類名使用M
作為注釋使用restrict 默認(rèn)值為 EA
, 即可以通過元素名和屬性名來調(diào)用指令。