【发布时间】:2016-03-16 09:02:41
【问题描述】:
在 AngularJS 中,Controller itself is an object 由 Javascript 构造函数 定义,此构造函数是 callback to .controller 方法。
var myapp=angular.module('scopeExample', []);
myapp.controller('MyController',function MyController($scope){
$scope.name="john";
this.num=700;
});
在上面的示例中,MyController 是构造函数,它创建具有一个属性的 Controller 对象 (num)。我对此有三个疑问:
- 其实这种情况下Controller对象有什么用呢?
- 它是否还有一些不可见的属性,是否可以从 Angular 外部访问?
- 它如何与它的作用域互连,而作用域又是另一个对象?
我遇到以下查询是因为 controller as 语法创建了一个控制器对象,该对象是控制器范围的属性,因此易于访问,例如
<div ng-app="scopeExample" ng-controller="MyController as ctrl">
<input id="box" ng-model="ctrl.num"> equals {{ ctrl.num }}
</div>
<script>
angular.module('scopeExample', [])
.controller('MyController', [function () {
this.num=12;
}]);
</script>
var x=angular.element('#box').scope().ctrl; //x is the controller object itself
【问题讨论】:
标签: angularjs angularjs-controller