2013-04-07 5 views
0

Мне нужно выполнить цикл в цикле в Angularjs по директиве. Первый цикл - это получение ссылок из json-файла, а второй цикл - зацикливание данных из предыдущих зацикленных ссылок.AngularJs ng-repeat внутри ng-repeat возвращает те же данные

Но во втором цикле он возвращает тот же результат.

Я создал тестирование plunker. Вы можете видеть, что здесь не так. Спасибо

+0

Это на самом деле не возвращать те же данные, что зацикливание на том же месте. Как их разделить – vzhen

ответ

1

Когда вы перебираете jsonLinks, вы переписываете $ scope.feeds на каждой итерации. Для того, чтобы сделать его работу я предлагаю заменить петлю: Plunker

angular.forEach($scope.jsonLinks, function(jsonLink) { 
    $scope.jsonLink = jsonLink.link; 
    dataService.jsonp($scope.jsonLink).then(function(response){ 
     jsonLink.feeds = response.data.feed; 
    }); 
});

+0

Привет, это работает, но можете ли вы поместить на него некоторые комментарии? потому что я не понимаю 'jsonLink.feeds = response.data.feed' и' feed в jsonLink.feeds' в 'tpl-1.html' – vzhen

0

Мне пришлось очистить свой старый ответ, потому что это не решило проблему. Основная проблема здесь заключается в том, что вы делаете асинхронные вызовы внутри цикла, без ссылки на исходный объект jsonLink, где вы можете хранить фиды. Вам понадобится ссылка на соответствующий родительский объект для фида. вероятно, найдите его через id, а затем добавьте к нему фид.

Смежные вопросы