AngularJS 簡介
AngularJS 是一個 JavaScript 框架。它可通過 <script> 標籤添加到 HTML 頁面。
AngularJS 通過 指令 擴展了 HTML,且通過 表達式 綁定數據到 HTML。
AngularJS 是一個 JavaScript 框架
AngularJS 是一個 JavaScript 框架。它是一個以 JavaScript 編寫的庫。
AngularJS 是以一個 JavaScript 文件形式發佈的,可通過 script 標籤添加到網頁中:
我們建議把腳本放在 <body> 元素的底部。 這會提高網頁加載速度,因爲 HTML 加載不受制於腳本加載。 |
AngularJS 擴展了 HTML
AngularJS 通過 ng-directives 擴展了 HTML。
ng-app 指令定義一個 AngularJS 應用程序。
ng-model 指令把元素值(比如輸入域的值)綁定到應用程序。
ng-bind 指令把應用程序數據綁定到 HTML 視圖。
AngularJS 實例
<html>
<body>
<div ng-app="">
<p>在輸入框中嘗試輸入:</p>
<p>姓名:<input type="text" ng-model="name"></p>
<p ng-bind="name"></p>
</div>
<script src="http://apps.bdimg.com/libs/angular.js/1.3.9/angular.min.js"></script>
</body>
</html>
實例講解:
當網頁加載完畢,AngularJS 自動開啓。
ng-app 指令告訴 AngularJS,<div> 元素是 AngularJS 應用程序 的"所有者"。
ng-model 指令把輸入域的值綁定到應用程序變量 name。
ng-bind 指令把應用程序變量 name 綁定到某個段落的 innerHTML。
如果您移除了 ng-app 指令,HTML 將直接把表達式顯示出來,不會去計算表達式的結果。 |
什麼是 AngularJS?
AngularJS 使得開發現代的單一頁面應用程序(SPAs:Single Page Applications)變得更加容易。
- AngularJS 把應用程序數據綁定到 HTML 元素。
- AngularJS 可以克隆和重複 HTML 元素。
- AngularJS 可以隱藏和顯示 HTML 元素。
- AngularJS 可以在 HTML 元素"背後"添加代碼。
- AngularJS 支持輸入驗證。
AngularJS 指令
正如您所看到的,AngularJS 指令是以 ng 作爲前綴的 HTML 屬性。
ng-init 指令初始化 AngularJS 應用程序變量。
AngularJS 實例
<p>姓名爲 <span ng-bind="firstName"></span></p>
</div>
HTML5 允許擴展的(自制的)屬性,以 data- 開頭。 AngularJS 屬性以 ng- 開頭,但是您可以使用 data-ng- 來讓網頁對 HTML5 有效。 |
帶有有效的 HTML5:
AngularJS 實例
<p>姓名爲 <span data-ng-bind="firstName"></span></p>
</div>
AngularJS 表達式
AngularJS 表達式寫在雙大括號內:{{ expression }}。
AngularJS 表達式把數據綁定到 HTML,這與 ng-bind 指令有異曲同工之妙。
AngularJS 將在表達式書寫的位置"輸出"數據。
AngularJS 表達式 很像 JavaScript 表達式:它們可以包含文字、運算符和變量。
實例 {{ 5 + 5 }} 或 {{ firstName + " " + lastName }}
AngularJS 實例
<html>
<body>
<div ng-app="">
<p>我的第一個表達式: {{ 5 + 5 }}</p>
</div>
<script src="http://apps.bdimg.com/libs/angular.js/1.3.9/angular.min.js"></script>
</body>
</html>
AngularJS 應用
AngularJS 模塊(Module) 定義了 AngularJS 應用。
AngularJS 控制器(Controller) 用於控制 AngularJS 應用。
ng-app指令定義了應用, ng-controller 定義了控制器。
AngularJS 實例
名: <input type="text" ng-model="firstName"><br>
姓: <input type="text" ng-model="lastName"><br>
<br>
姓名: {{firstName + " " + lastName}}
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.firstName= "John";
$scope.lastName= "Doe";
});
</script>
AngularJS 模塊定義應用:
AngularJS 模塊
AngularJS 控制器控制應用:
AngularJS 控制器
$scope.firstName= "John";
$scope.lastName= "Doe";
});
應用解析:
AngularJS 應用程序由 ng-app 定義。應用程序在 <div> 內運行。
ng-controller="myCtrl" 是一個 AngularJS 指令。用於定義一個控制器。
myCtrl 函數是一個 JavaScript 函數。
AngularJS 使用$scope 對象來調用控制器。
在 AngularJS 中, $scope 是一個應用象(屬於應用變量和函數)。
控制器的 $scope (相當於作用域、控制範圍)用來保存AngularJS Model(模型)的對象。
控制器在作用域中創建了兩個屬性 (firstName 和 lastName)。
ng-model 指令綁定輸入域到控制器的屬性(firstName 和 lastName)。