AngularJS 應用
現在是時候建立一個真正的 AngularJS 單頁 Web 應用程式(single page web application,SPA)了。
AngularJS 應用執行個體
您已經學習了足夠多關於 AngularJS 的知識,現在可以開始建立您的第一個 AngularJS 應用程式:
應用程式講解
AngularJS 執行個體
<!DOCTYPE html><html><head><meta charset="utf-8"><script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script></head><body ng-app="myNoteApp" ng-controller="myNoteCtrl"><h2>我的筆記</h2><textarea ng-model="message" cols="40" rows="10"></textarea><p><button ng-click="save()">儲存</button><button ng-click="clear()">清除</button></p><p>剩餘字數: <span ng-bind="left()"></span></p><script src="myNoteApp.js"></script><script src="myNoteCtrl.js"></script></body></html>
運行結果:
我的筆記
儲存 清除
剩餘字數: 100
應用程式檔案 "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 作為應用的根進行編譯。
應用的根可以是整個頁面,或者頁面的一小部分,如果是一小部分會更快編譯和執行。
以上就是對AngularJS簡單應用詳解,希望能協助AngularJS編程的朋友。