我想无限期地遍历一个JSON数组(下面名为playbook)。
我有以下代码:
$scope.loadPlaybook = function () {
$http.get('/static/lib/playbook.json')
.then(function (res) {
$scope.data.playbook = res.data;
console.log('Playbook data:', $scope.data.playbook);
$interval(function () {
console.log('Trying to access from $interval:', $scope.data.playbook);
}, 1000);
},
function (err) {
// ..
});
};
有时,$scope.data.playbook
在$interval
回调中定义,大部分时间都没有。
当我加载页面的70%时,输出如下所示:
当我加载页面时,有30%的时间输出如下:
我正在使用Angular 1.5.1和Google Chrome。
答案 0 :(得分:0)
这可能不会直接回答您的问题,但据我所知,请注意console.log()
显示在运行时作为参数传递的对象的预览,然后在当前对象状态时更新单击控制台中显示的预览。如果要在特定时间查看对象的状态,可以console.log(angular.copy(sourceObj))
。您可以将这两个结合起来检查$ scope.data是否在最初设置后被其他地方覆盖。
希望它有所帮助!