AngularJS 简单应用实例
AngularJS应用
现在是时候创建一个真正的AngularJS单页Web应用(singlepagewebapplication,SPA)了。
AngularJS应用实例
您已经学习了足够多关于AngularJS的知识,现在可以开始创建您的第一个AngularJS应用程序:
应用程序讲解
AngularJS实例
<!DOCTYPEhtml> <html> <head> <metacharset="utf-8"> <scriptsrc="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> </head> <bodyng-app="myNoteApp"ng-controller="myNoteCtrl"> <h2>我的笔记</h2> <textareang-model="message"cols="40"rows="10"></textarea> <p> <buttonng-click="save()">保存</button> <buttonng-click="clear()">清除</button> </p> <p>剩余字数:<spanng-bind="left()"></span></p> <scriptsrc="myNoteApp.js"></script> <scriptsrc="myNoteCtrl.js"></script> </body> </html>
运行结果:
剩余字数: 100
应用程序文件"myNoteApp.js":
varapp=angular.module("myNoteApp",[]);
控制器文件"myNoteCtrl.js":
app.controller("myNoteCtrl",function($scope){ $scope.message=""; $scope.left=function(){return100-$scope.message.length;}; $scope.clear=function(){$scope.message="";}; $scope.save=function(){alert("NoteSaved");}; });
<html>元素是AngularJS应用:ng-app="myNoteApp"的容器:
<htmlng-app="myNoteApp">
<div>是HTML页面中控制器:ng-controller="myNoteCtrl"的作用域:
<divng-controller="myNoteCtrl">
ng-model指令绑定了<textarea>到控制器变量message:
<textareang-model="message"cols="40"rows="10"></textarea>
两个ng-click事件调用了控制器函数clear()和save():
<buttonng-click="save()">Save</button> <buttonng-click="clear()">Clear</button>
ng-bind指令绑定控制器函数left()到<span>,用于显示剩余字符:
Numberofcharactersleft:<spanng-bind="left()"></span>
应用库文件需要在AngularJs加载后才能执行:
<scriptsrc="myNoteApp.js"></script> <scriptsrc="myNoteCtrl.js"></script>
AngularJS应用架构
以上实例是一个完整的AngularJS单页Web应用(singlepagewebapplication,SPA)。
<html>元素包含了AngularJS应用(ng-app=)。
<div>元素定义了AngularJS控制器的作用域(ng-controller=)。
在一个应用可以由很多控制器。
应用文件(my...App.js)定义了应用模型代码。
一个或多个控制器文件(my...Ctrl.js)定义了控制器代码。
总结-它是如何工作的呢?
ng-app指令位于应用的根元素下。
对于单页Web应用(singlepagewebapplication,SPA),应用的根通常为<html>元素。
一个或多个ng-controller指令定义了应用的控制器。每个控制器有他自己的作用域::定义的HTML元素。
AngularJS在HTMLDOMContentLoaded事件中自动开始。如果找到ng-app指令,AngularJS载入指令中的模块,并将ng-app作为应用的根进行编译。
应用的根可以是整个页面,或者页面的一小部分,如果是一小部分会更快编译和执行。
以上就是对AngularJS简单应用详解,希望能帮助AngularJS编程的朋友。