AngularJS — базовый индекс $ с повторением ng

#angularjs

#angularjs

Вопрос:

У меня есть две таблицы с tr, подобные этой, только меняющие идентификатор держателя

  <tr class="text-center" ng-if="obligation3.debtor.holderId == 3"
     ng-repeat="obligation in vm.application.obligations">
   <td><b>Ratenkreditamp;nbsp;{{$index 1}}amp;nbsp;</b></td>
</tr>

 <tr class="text-center" ng-if="obligation.debtor.holderId == 2"
     ng-repeat="obligation in vm.application.obligations">
   <td><b>Ratenkreditamp;nbsp;{{$index 1}}amp;nbsp;</b></td>
</tr>
  

Проблема в том, что $index не сбрасывается. Я хочу подсчитать количество $index в цикле for, и во втором цикле $index оно должно начинаться с 0:

Проверьте это изображение

Таблица вторичных кандидатов должна начинаться с 1.

Комментарии:

1. $index сбрасывается, ваша проблема может заключаться в том, что $index игнорирует ваше предложение ng-if?

2. @PetrAveryanov Я думаю, что в этом проблема. Как мне это исправить?

Ответ №1:

Вместо использования ng-if используйте фильтр.

 <tr class="text-center" 
    ng-repeat="obligation in vm.application.obligations | filter: { debtor.holderId: 3 }: true">

<tr class="text-center" 
    ng-repeat="obligation in vm.application.obligations | filter: { debtor.holderId: 2 }: true">
  

true Указывает фильтру использовать строгое соответствие, в противном случае он будет соответствовать элементам, где holderId 13, 23 и т.д.