Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.10.2013, 14:11
Интересующийся
Отправить личное сообщение для cartrege Посмотреть профиль Найти все сообщения от cartrege
 
Регистрация: 31.08.2012
Сообщений: 12

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? И если можно, тогда в чем может быть причина того, что не выводится список быстрых ссылок?
Ответить с цитированием
  #2 (permalink)  
Старый 24.10.2013, 14:25
Интересующийся
Отправить личное сообщение для cartrege Посмотреть профиль Найти все сообщения от cartrege
 
Регистрация: 31.08.2012
Сообщений: 12

Задал вопрос и тут же пришел в голову ответ. Сейчас использую индекс, чтобы пройтись по быстрым ссылкам.

<!-- Выводим список баннеров -->
    <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>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как закрыть ShadowBox окно из HTML-кода внутри него Роман Б. Events/DOM/Window 1 16.04.2015 19:52
Как получить доступ к функциям внутри $(document).ready ? oleg_barma jQuery 3 05.06.2012 20:56
fade маленького div внутри большого div kenwo0d jQuery 17 19.05.2012 16:27
Центровка текста внутри Alert Le-mark43 Events/DOM/Window 4 18.05.2012 15:03
Передать адресную строку внутри Фрейма Smirnov007 Общие вопросы Javascript 1 08.02.2008 15:04