Как использовать оператор управления (оператор if) во вложенной директиве ng-repeat?

0

У меня есть следующий код в моем HTML-представлении:

<div ng-repeat='shop in shops'>
  <ul ng-repeat='item in items'>
    <li>
      <!-- {{Show items of the particular shop in here}} -->
    </li>
  </ul>
</div>

items - объект JSON. У каждого элемента есть shop_id, который должен использоваться для сортировки.

Согласно документации, я понимаю, что я не могу использовать инструкцию if в выражении с угловым выражением для достижения того, что у меня есть. Как еще я могу использовать оператор управления.

Я попробовал это, но это явно не получилось, потому что мы не можем вернуть continue.

//var resources.items and resources.shops are JSON objects output from a database

//This file is app.js

$scope.itemName = function(itemIndex, shopIndex) {
  for (var i = 0; i < resources.items.length; i++) {
    if (resources.items[itemIndex].shop_id == resources.shops[shopIndex].id)
      return resources.items[itemIndex].name;
  };
  return continue;
}

И это, по мнению:

<div class="tab-content" ng-repeat='provider in providers'>
  <ul ng-repeat='item in items'>
    <li>{{itemName($index, $parent)}}</li>
  </ul>
</div>

Я новичок в Angular. Пожалуйста, помогите.

1 ответ

3
Лучший ответ

Используйте директиву ngIf:

<div ng-repeat='shop in shops'>
  <ul ng-repeat='item in items'>
    <li ng-if="item.shop_id === shop.id">
      <!-- {{Show items of the particular shop in here}} -->
    </li>
  </ul>
</div>
  • 0
    Ох .. Я не знал об этом. Я попробую это сейчас. Большое спасибо.
  • 0
    Да нет проблем. Также читайте о ngShow и различиях между ngIf
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню