AngularJS 可用来构建单一页面应用程序(SPAs:Single Page Applications),现在在微信里的页面基本是 SPAs。
数据绑定
<!DOCTYPE html>
<html>
<script src="http://apps.bdimg.com/libs/angular.js/1.3.9/angular.min.js"></script>
<body>
<div ng-app="" >
fisrtname: <input type="text" ng-model="firstname"><br>
lastname: <input type="text" ng-model="lastname"><br>
name: {{ firstname + " " + lastname}}
</div>
</body>
</html>
代码中 ng-model
指令把元素值(比如输入域的值)绑定到变量 firstname
上,相当于定义一个变量。
使用 {{}}
将 firstname
解引用得出值。
解引用也可以写成
name: <span ng-bind="firstname + lastname" ></span>
如果把 ng-app=""
改为 ng-app="myApp"
,会出现
Controller
<div ng-app="myApp" ng-controller="myCtrl">
fisrtname: <input type="text" ng-model="firstname"><br>
lastname: <input type="text" ng-model="lastname"><br>
name: {{ firstname + " " + lastname}}
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.firstname = "Johh";
$scope.lastname = "Doe"
});
</script>
在 ng-app
中指定应用程序名字后需要定义 controller
来控制行为。
控制器的 $scope (相当于作用域、控制范围)用来保存AngularJS Model(模型)的对象。
控制器在作用域中创建了两个属性 (firstName 和 lastName)。
ng-model 指令绑定输入域到控制器的属性(firstName 和 lastName)。
参考
http://www.runoob.com/angularjs/angularjs-controllers.html