Angular RSS阅读器项目的时间问题

时间:2015-11-01 18:58:47

标签: javascript angularjs

我在学院/个人项目中遇到了一些问题。完整的脚本在这里: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);
});

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

是的,我只看了你的代码,getFeed()是在$scope.$digest()周期之外处理的。

相反,您应该使用$http服务(或使用$http的抽象服务)来确保您的逻辑在Angular的摘要过程中发生。通常,将AngularJS和jQuery混合起来并不是一个好主意。