天天看點

AngularJS 簡介

AngularJS 是一個 JavaScript 架構。它可通過 <script> 标簽添加到 HTML 頁面。

AngularJS 通過 指令 擴充了 HTML,且通過 表達式 綁定資料到 HTML。

AngularJS 是一個 JavaScript 架構。它是一個以 JavaScript 編寫的庫。

AngularJS 是以一個 JavaScript 檔案形式釋出的,可通過 script 标簽添加到網頁中:

<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>

AngularJS 簡介

我們建議把腳本放在 <body> 元素的底部。

這會提高網頁加載速度,因為 HTML 加載不受制于腳本加載。

各個 angular.js 版本下載下傳: https://github.com/angular/angular.js/releases

AngularJS 通過 ng-directives 擴充了 HTML。

ng-app 指令定義一個 AngularJS 應用程式。

ng-model 指令把元素值(比如輸入域的值)綁定到應用程式。

ng-bind 指令把應用程式資料綁定到 HTML 視圖。

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

</head>

<body>

<div ng-app="">

<p>名字 : <input type="text" ng-model="name"></p>

<h1>Hello {{name}}</h1>

<p ng-bind="name"></p>

</div>

</body>

</html>

執行個體講解:

當網頁加載完畢,AngularJS 自動開啟。

ng-app 指令告訴 AngularJS,<div> 元素是 AngularJS 應用程式 的"所有者"。

ng-model 指令把輸入域的值綁定到應用程式變量 name。

ng-bind 指令把應用程式變量 name 綁定到某個段落的 innerHTML。

AngularJS 簡介

如果您移除了 ng-app 指令,HTML 将直接把表達式顯示出來,不會去計算表達式的結果。

AngularJS 使得開發現代的單一頁面應用程式(SPAs:Single Page Applications)變得更加容易。

AngularJS 把應用程式資料綁定到 HTML 元素。

AngularJS 可以克隆和重複 HTML 元素。

AngularJS 可以隐藏和顯示 HTML 元素。

AngularJS 可以在 HTML 元素"背後"添加代碼。

AngularJS 支援輸入驗證。

正如您所看到的,AngularJS 指令是以 ng 作為字首的 HTML 屬性。

ng-init 指令初始化 AngularJS 應用程式變量。

<div ng-app="" ng-init="firstName='John'">

<p>姓名為 <span ng-bind="firstName"></span></p>

AngularJS 簡介

HTML5 允許擴充的(自制的)屬性,以 data- 開頭。

AngularJS 屬性以 ng- 開頭,但是您可以使用 data-ng- 來讓網頁對 HTML5 有效。

帶有有效的 HTML5:

<div data-ng-app="" data-ng-init="firstName='John'">

<p>姓名為 <span data-ng-bind="firstName"></span></p>

AngularJS 表達式寫在雙大括号内:{{ expression }}。

AngularJS 表達式把資料綁定到 HTML,這與 ng-bind 指令有異曲同工之妙。

AngularJS 将在表達式書寫的位置"輸出"資料。

AngularJS 表達式 很像 JavaScript

表達式:它們可以包含文字、運算符和變量。

執行個體 {{ 5 + 5 }} 或 {{ firstName + " " + lastName }}

<p>我的第一個表達式: {{ 5 + 5 }}</p>

AngularJS 子產品(Module) 定義了 AngularJS 應用。

AngularJS 控制器(Controller) 用于控制 AngularJS 應用。

ng-app指令指明了應用, ng-controller

指明了控制器。

<div ng-app="myApp" ng-controller="myCtrl">

名: <input type="text" ng-model="firstName"><br>

姓: <input type="text" ng-model="lastName"><br>

<br>

姓名: {{firstName + " " + lastName}}

<script>

var app = angular.module('myApp', []);

app.controller('myCtrl', function($scope) {

$scope.firstName= "John";

$scope.lastName= "Doe";

});

</script>

AngularJS 子產品定義應用:

AngularJS 控制器控制應用:

在接下來的教程中你将學習到更多的應用和子產品的知識。