Angular js:控制器别名不起作用

时间:2014-07-18 00:24:58

标签: angularjs angularjs-ng-repeat

我在同一页面中使用了很多控制器,因此代码更清晰,为每个控制器添加了一个别名。但是,当我使用别名时,我无法访问属性,函数。

This code works well

This code doesn't work

请问有什么不同。

1 个答案:

答案 0 :(得分:11)

使用“controller as”构造时,可以使用控制器的this范围而不是$scope对象来定义属性。所以第二个例子的控制器应该是:

function MyCtrl($scope) {
    this.items = m;
}

在您的示例中,您甚至不需要注入$scope,因为您没有使用它,所以您可以将其削减到更多:

function MyCtrl() {
    this.items = m;
}