2014-10-17 59 views
0

动态变量的名字,我尝试在angularjs的foreach来定义一个动态的变量名,如:的范围

angular.forEach($scope.posts, function (item) { 
    // counter increment 
    counter++; 

    var idPage = 'feed' + counter; 

    FeedService.parseFeed(url).then(function(res) { 
     $scope.window[idPage] = res.data.responseData.feed.entries; 
    }); 

}); 

所以,它不工作,我有这样的错误:Cannot set property 'feed1' of undefined

什么正确的语法?

+0

你能提供一个plnkr? – 2014-10-17 18:19:48

+0

$ scope ['feed1'] ='test'; console.log($ scope.feed1); – Whisher 2014-10-17 19:10:56

回答

1

您的$ scope对象是否具有window属性?如果是的话,请马克西姆的答案。如果没有,试试这个:

angular.forEach($scope.posts, function (item) { 
    // counter increment 
    counter++; 

    var idPage = 'feed' + counter; 

    FeedService.parseFeed(url).then(function(res) { 
     $scope[idPage] = res.data.responseData.feed.entries; 
    }); 

}); 

编辑:

工作plunkr:http://plnkr.co/edit/eVLJKIspLwKPCYAg7L8w?p=preview