Angular 控制器函数既是构造函数又是装饰器?
Angular controller functions are both constructors and a decorators?
如果有人为下面的代码写一个controller as ctrl
:
function Controller($scope) {
$scope.abc = "123";
}
angularApp.controller("controller", Controller);
下面的伪代码是否准确描述了 $scope
与 controller
的区别?
$scope = $rootScope.$new();
controller = new Controller($scope);
$scope.ctrl = controller;
我的问题是:
- 上面的伪代码是作用域与控制器对象有何不同的准确心智模型吗?
-
function Controller(){}
是否同时是构造函数(对于控制器对象)和装饰器(对于范围对象)?
你的假设是正确的。范围是愚蠢的——有很多原因。这就是为什么它们会淡出它并且它不会存在于 angular 2 中。建议您永远不要使用范围,而仅用于 watch
、eval
和事件。
如果有人为下面的代码写一个controller as ctrl
:
function Controller($scope) {
$scope.abc = "123";
}
angularApp.controller("controller", Controller);
下面的伪代码是否准确描述了 $scope
与 controller
的区别?
$scope = $rootScope.$new();
controller = new Controller($scope);
$scope.ctrl = controller;
我的问题是:
- 上面的伪代码是作用域与控制器对象有何不同的准确心智模型吗?
-
function Controller(){}
是否同时是构造函数(对于控制器对象)和装饰器(对于范围对象)?
你的假设是正确的。范围是愚蠢的——有很多原因。这就是为什么它们会淡出它并且它不会存在于 angular 2 中。建议您永远不要使用范围,而仅用于 watch
、eval
和事件。