使用命令console.log($scope.data)
,我可以看到我的json文件。我还可以使用<div ng-repeat="item in data">
查看视图中的所有项目,但console.log($scope.data[0])
或console.log($scope.data[0].name)
返回错误"undefined"
,console.log($scope.data.length)
返回0.如何访问控制器中的项目
的修改
$ scope.data包含一个json文件。 $scope.data = service.query();
,它看起来像
我不明白为什么当ng-repeat工作时长度返回0
答案 0 :(得分:0)
您似乎已从问题中删除了所有相关详细信息(例如service.query
实施)。
这plunker可能会对正在发生的事情有所了解。
var app = angular.module('app', []);
app.factory('data', function ($timeout) {
var data = [];
return {
query: function () {
$timeout(function () {
data.push(1, 2, 3);
}, 1000);
setTimeout(function () {
data.push('Oops, ng-repeat is unconscious of this one');
}, 2000);
return data;
}
};
});
app.controller('AppController', function($scope, data) {
$scope.data = {
agile: [1, 2, 3],
lazy: data.query()
};
$scope.$watch('data.lazy', function (newVal, oldVal) {
if (newVal === oldVal) return;
console.log($scope.data.lazy[0]);
}, true);
});