2014-10-17 21 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