范围的动态变量名称

时间:2014-10-17 17:48:29

标签: javascript angularjs syntax

我尝试在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

正确的语法是什么?

1 个答案:

答案 0 :(得分:1)

您的$ scope对象是否具有window属性?如果是,请使用Maxim的答案。如果没有,试试这个:

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