ng-repeat внутри ng-repeat
Здравствуйте!
Столкнулся со следующей проблемой: от сервера приходят данные по баннерам, где у каждого баннера есть массив быстрых ссылок. Список баннеров выводится c помощью ng-repeat. Внутри нужно вывести (кроме основной информации) еще и список быстрых ссылок - для чего использую ng-repeat внутри первого. Но он ничего не выводит. Хотя списки не пустые у всех баннеров. Вот какая разметка сейчас: <!-- Выводим список баннеров --> <div class="banner" ng-repeat="b in banners"> <div class="ad"> <div class="bannerId"># {{ b.BannerID }}</div> <div class="title"><a href="http://{{ b.Domain }}" target="_blank">{{ b.Title }}</a></div> <!-- Выводим список быстрых ссылок --> <div class="shortLinks" ng-if="b.Sitelinks.length > 0"> test <!-- "test" поставлен для теста. Он выводится. Т.е. условие срабатывает, если верно понимаю --> <a ng-repeat="l in b.Sitelinks" href="http://{{ l.Href }}" target="_blank">{{ l.Text }}</a> </div> <div class="text">{{ b.Text }}</div> <div class="greenLink"><a href="http://{{ b.Domain }}">{{ b.Domain }}</a></div> </div> </div> Подскажите, пожалуйста, можно ли использовать ng-repeat внутри другого ng-repeat? И если можно, тогда в чем может быть причина того, что не выводится список быстрых ссылок? |
Задал вопрос и тут же пришел в голову ответ. Сейчас использую индекс, чтобы пройтись по быстрым ссылкам.
<!-- Выводим список баннеров --> <div class="banner" ng-repeat="(bIndex, b) in banners"> <div class="ad"> <div class="bannerId"># {{ b.BannerID }}</div> <div class="title"><a href="http://{{ b.Domain }}" target="_blank">{{ b.Title }}</a></div> <!-- Выводим список быстрых ссылок --> <div class="shortLinks" ng-if="b.Sitelinks.length > 0"> <a ng-repeat="l in banners[bIndex].Sitelinks" href="http://{{ l.Href }}" target="_blank">{{ l.Text }}</a> </div> <div class="text">{{ b.Text }}</div> <div class="greenLink"><a href="http://{{ b.Domain }}">{{ b.Domain }}</a></div> </div> </div> |
Часовой пояс GMT +3, время: 22:55. |