角度控制器函数既是构造函数又是装饰器?

时间:2016-01-30 23:39:28

标签: javascript angularjs angularjs-scope angularjs-controller angularjs-controlleras

如果有人为以下代码写controller as ctrl

function Controller($scope) {
  $scope.abc = "123";
}

angularApp.controller("controller", Controller);

下面的伪代码是否准确描述$scopecontroller的区别?

$scope = $rootScope.$new();
controller = new Controller($scope);
$scope.ctrl = controller;

我的问题是:

  • 上述伪代码是否是范围与控制器对象的不同之处的精确心智模型?
  • function Controller(){}同时是构造函数(对于控制器对象)还是装饰器(对于作用域对象)?

1 个答案:

答案 0 :(得分:1)

你的假设是正确的。范围很愚蠢 - 原因很多。这就是为什么它们会逐渐消失并且它不会存在于角度2中的原因。建议您不要使用范围,但只能用于watcheval和事件。