Latest web development tutorials

AngularJS 應用

現在是時候創建一個真正的AngularJS 單頁Web 應用(single page web application,SPA)了。


AngularJS 應用實例

您已經學習了足夠多關於AngularJS 的知識,現在可以開始創建您的第一個AngularJS 應用程序:

我的筆記



剩餘字數:100



應用程序講解

AngularJS 實例

< html ng-app= "myNoteApp" >
< head >
< meta charset = "utf-8" >
< script src= "http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js" > < /script >
< /head >
< body >

< div ng-controller= "myNoteCtrl" >

< h2 >我的筆記< /h2 >

< p > < textarea ng-model= "message" cols= "40" rows= "10" > < /textarea > < /p >

< p >
< button ng-click= "save()" >保存< /button >
< button ng-click= "clear()" >清除< /button >
< /p >

< p > Number of characters left: < span ng-bind= "left()" > < /span > < /p >

< /div >

< script src= "myNoteApp.js" > < /script >
< script src= "myNoteCtrl.js" > < /script >

< /body >
< /html >

嘗試一下»

應用程序文件"myNoteApp.js":

var app = angular.module("myNoteApp", []);

控制器文件"myNoteCtrl.js":

app.controller("myNoteCtrl", function($scope) {
$scope.message = "";
$scope.left = function() {return 100 - $scope.message.length;};
$scope.clear = function() {$scope.message = "";};
$scope.save = function() {alert("Note Saved");};
});

<html>元素是AngularJS應用: ng-app=" myNoteApp "的容器:

< html ng-app= "myNoteApp" >

<div>是HTML頁面中控制器: ng-controller=" myNoteCtrl "的作用域:

< div ng-controller= "myNoteCtrl" >

ng-model指令綁定了<textarea>到控制器變量message :

< textarea ng-model= "message" cols= "40" rows= "10" > < /textarea >

兩個ng-click事件調用了控制器函數clear()save() :

< button ng-click= "save()" > Save < /button >
< button ng-click= "clear()" > Clear < /button >

ng-bind指令綁定控制器函數left()到<span> ,用於顯示剩餘字符:

Number of characters left: < span ng-bind= "left()" > < /span >

應用庫文件需要在AngularJs 加載後才能執行:

< script src= "myNoteApp.js" > < /script >
< script src= "myNoteCtrl.js" > < /script >

AngularJS 應用架構

以上實例是一個完整的AngularJS 單頁Web應用(single page web application,SPA)。

<html>元素包含了AngularJS應用( ng-app= )。

<div>元素定義了AngularJS控制器的作用域( ng-controller= )。

在一個應用可以由很多控制器。

應用文件( my...App.js )定義了應用模型代碼。

一個或多個控制器文件( my...Ctrl.js )定義了控制器代碼。


總結- 它是如何工作的呢?

ng-app 指令位於應用的根元素下。

對於單頁Web應用(single page web application,SPA),應用的根通常為<html> 元素。

一個或多個ng-controller 指令定義了應用的控制器。 每個控制器有他自己的作用域:: 定義的HTML 元素。

AngularJS 在HTML DOMContentLoaded 事件中自動開始。 如果找到ng-app 指令, AngularJS 載入指令中的模塊,並將ng-app 作為應用的根進行編譯。

應用的根可以是整個頁面,或者頁面的一小部分,如果是一小部分會更快編譯和執行。