标签:angular angularjs ng-bind ng-controller
AngularJS中有ng-controller,通过这样可以给DOM元素装上控制器。
比如这样:
<div ng-controller="firstController"> <p ng-bind="i"></p> <input type="text" ng-model="abc" value=""> <p ng-bind="abc"></p> </div>
这样就代表控制器的作用域是整个div,里面的内容受到名为firstController的控制器控制。这段代码中,
<p ng-bind="i"></p>
相当于{{i}},但是i这个变量还没定义呢。于是要在控制器中定义:
<script type="text/javascript">
var firstController = function($scope){
$scope.i = 0;
}
</script>firstController看成一个函数,$scope是其作用域,注意$scope不能改成别的变量名,这是专用的。
<input type="text" ng-model="abc" value="">
其实相当于在 firstController函数中自动加了个变量abc。
上面只是AngularJS 1.2.x 版本的用法,在高版本中,禁止了这种方式,因为这种方式会让controller满天飞,分不清层次,所有东西都挂在$rootScope上。
高版本中的用法为:
<!DOCTYPE html>
<html ng-app="app">
<head>
<meta charset="utf-8">
</head>
<body>
<div ng-controller="firstController">
<p ng-bind="i"></p>
<input type="text" ng-model="abc" value="">
<p ng-bind="abc"></p>
</div>
<script src="http://cdn.bootcss.com/angular.js/1.4.0-rc.2/angular.min.js"></script>
/**
* Module
*
* Description
*/
angular.module(‘app‘, []).controller(‘firstController‘,
function($scope) {
$scope.i = 0;
});
</script>
</body>
</html>本文出自 “柚汁前端” 博客,请务必保留此出处http://iampomelo.blog.51cto.com/10193513/1658455
标签:angular angularjs ng-bind ng-controller
原文地址:http://iampomelo.blog.51cto.com/10193513/1658455