... 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];
};
}]);
它将测试1写入控制台但不测试2.并且前端没有得到阵列。
对我有任何暗示吗?
此致 n00n
答案 0 :(得分:5)
您必须在控制器的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;
}]);
我希望您在使用ng-controller
指令时已经定义了控制器别名,如果您还没有使用它,请按照以下步骤操作。
ng-controller="DataController as dataCtrl"
ng-repeat="n in dataCtrl.getObjects()"
正如您所看到的那样,您应该在ng-repeat
中调用getObjects()
方法来获取方法中的数组。