控制器
controller.js:
var firstController = function($scope){
// $scope我们叫做作用域
//声明一个model
$scope.name="Zoey";
$scope.age="2";
}
index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<div ng-app="">
<div ng-controller="firstController">
<input type="text" value="" ng-model="name"/>
{{name}}
{{age}}
</div>
</div>
<script type="text/javascript" src="app/index.js"></script>
<script type="text/javascript" src="../../vendor/angular/angularjs.js"></script>
</body>
</html>
尽管控制器看起来并没有起到什么控制的作用,但是它在这里起到了至关重要的作用。通过给定我们数据模型的语境,控制器允许我们建立模型和视图之间的数据绑定(不管哪一个改变,另一个也会跟着自动update)。我们是这样把表现层,数据和逻辑部件联系在一起的:
- firstController为控制器方法的名字(在JS中)和<body>标签里面的ngController指令的值相匹配(<div ng-controller="firstController">)。
- index.html文件中的数据此时与注入到我们控制器函数的作用域(
$scope
)相关联。当应用启动之后,会有一个根作用域被创建出来,而控制器的作用域是根作用域的一个典型后继。这个控制器的作用域对所有<div ng-controller="firstController">标记内部的数据绑定有效。
AngularJS的作用域