我在学院/个人项目中遇到了一些问题。完整的脚本在这里:http://pastebin.com/w3iGwzTc
data
函数中的getFeed
包含带有RSS数据的JavaScript对象。 $scope.savedStories
附加到ng-repeat元素,并且数据是传递给它,因为正在创建元素。然而,控制台之前和之后的console.log在控制台中显示为 []
,并且由于$scope.savedStories
为空,for循环不会触发。
我觉得这可能与时间有关,但它应该在那个范围内。
getFeed().then(function(data) {
console.log(data, 'this defintely should have some data in it');
$scope.savedStories = data;
console.log($scope.savedStories, 'This one?');
for (var story in $scope.savedStories){
console.log(story, ' - Sending for summary...')
getSummarisation($scope.savedStories[story]).then(function(data) {
$scope.savedStories[story].image = data.image;
});
}
}, function(err) {
console.log('Error', err);
});
非常感谢任何帮助。
答案 0 :(得分:0)
是的,我只看了你的代码,getFeed()
是在$scope.$digest()
周期之外处理的。
相反,您应该使用$http
服务(或使用$http
的抽象服务)来确保您的逻辑在Angular的摘要过程中发生。通常,将AngularJS和jQuery混合起来并不是一个好主意。