1.ng-app
使用ng-app声明Angular的边界
你可以用ng-app 指令告诉Angular 应该管理页面中的哪一块。如果你正在构建一款纯Angular 应用,那么你应该把ng-app 指令写在<html> 标签中,示例如下:
- <html ng-app>
- …
- </html>
这样就会告诉Angular 去管理页面上的所有DOM 元素。
如果你有一款现存的应用,该应用正在用其他一些技术(如Java 或Rails)来管理DOM,那么你可以让Angular 只管理页面中的一部分,只要在页面中放入一些<div> 之类的元素即可。
- <html>
- …
- <div ng-app>
- …
- </div>
- …
- </html>
2.ng-model 实现数据的双向绑定
上一章介绍了AngularJS框架的插值语法和ng-bind指令,本章介绍ng-model指令,本指令用于实现input和变量的双向绑定。
示例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
<! DOCTYPE html> < html ng-app> < head > < meta charset = "utf-8" > < title >ng-model directive</ title > </ head > < body ng-controller = "HelloController" > < div > < p >双向绑定</ p > < input ng-model = "greeting" > < p >Hello {{greeting || "World"}}</ p > < button ng-click = "init()" >重置</ button > < hr > </ div > < script src = "../lib/angularjs/1.2.26/angular.min.js" ></ script > < script > function HelloController($scope) { $scope.init = function() { $scope.greeting = "Hello"; } } </ script > </ body > </ html > |
input加上ng-model指令后,框架会负责input和greeting变量的自动同步。
插值中支持表达式语法,下面用了一个或表达式,因为greeting初始为空,所以页面加载后输出Hello World,改变input中的值,greeting变量也会被框架改变,从而使段落中文字自动跟随变化。
HelloController中定义了一个init()方法,button的ng-click指令会触发这个方法,类似的事件指令还有很多,用法基本一致,只是click换成dbclick这样不同事件名而已