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

tan*_*ana 4 angularjs angularjs-ng-repeat

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

This code works well

This code doesn't work

有什么区别请.

Sea*_*lsh 11

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

function MyCtrl($scope) {
    this.items = m;
}
Run Code Online (Sandbox Code Playgroud)

在你的例子中,你甚至不需要注入,$scope因为你没有使用它,所以你可以更加削减它:

function MyCtrl() {
    this.items = m;
}
Run Code Online (Sandbox Code Playgroud)