【问题标题】:Angular controller functions are both constructors and a decorators?Angular 控制器函数既是构造函数又是装饰器?
【发布时间】:2016-05-08 14:35:00
【问题描述】:

如果有人为以下代码写了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(){} 是否同时是构造函数(用于控制器对象)和装饰器(用于作用域对象)?

【问题讨论】:

  • 控制器不装饰范围,它只是作为属性添加到其中。据我所知,装饰器是函数的包装器。

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


【解决方案1】:

你的假设是正确的。范围是愚蠢的——有很多原因。这就是为什么他们将其淡出并且它不会在 angular 2 中存在。建议您永远不要使用范围,而仅用于 watcheval 和事件。

【讨论】:

    猜你喜欢
    • 2010-09-27
    • 1970-01-01
    • 2018-09-28
    • 2018-07-31
    • 2017-04-09
    • 2017-05-04
    • 2020-07-29
    • 2021-04-19
    • 1970-01-01
    相关资源
    最近更新 更多