n00*_*00n 2 javascript controller angularjs angularjs-controller angularjs-controlleras
很长一段时间后,我不得不再集中一个角.但我失败了......
... ng-repeat ="在DataController.getObjects中的n"
myApp.controller('DataController', [function () {
console.log('test 1');
var getObjects = function () {
console.log('test 2');
return [1,2,3,4,5,6,7];
};
}]);
Run Code Online (Sandbox Code Playgroud)
它将测试1写入控制台但不测试2.并且前端没有得到阵列.
有什么暗示吗?
问候n00n
您必须在控制器的页面(上下文)上公开method/ variable要访问它this.因此,您可以通过控制器别名访问该方法/变量,因为您似乎正在使用controllerAs模式.
码
myApp.controller('DataController', [function () {
var self = this;
console.log('test 1');
var getObjects = function () {
console.log('test 2');
return [1,2,3,4,5,6,7];
};
self.getObjects = getObjects;
}]);
Run Code Online (Sandbox Code Playgroud)
我希望你在使用ng-controller指令时已经定义了控制器别名,如果你还没有使用它,请按照下面的说明操作.
ng-controller="DataController as dataCtrl"
ng-repeat="n in dataCtrl.getObjects()"
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,你应该调用方法ng-repeat一样getObjects()摆脱方法的数组.
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |