У меня есть таблица, в которой есть директива ng-repeat
. Он использует фильтр для фильтрации объектов, не имеющих свойства qty> 0. Мне нужно дать серийный номер. к каждой из строк. Обратите внимание, что строки не фиксированы. Если пользователь изменяет количество товара, чтобы сделать его 0, он удаляется из таблицы.Число строк в ng-repeat
<table class="table table-striped">
<tr>
<th>S.no</th><th>Product Name</th><th>Qty</th><th>Sub-Total</th>
</tr>
<tr class="orders" ng-repeat="product in products" ng-if="product.qty">
<td>{{$index}}</td><td>{{product.name}}</td><td> <input type="number" min="0" ng-blur="product.qty = qty" ng-model="qty" value="{{product.qty}}"> </td> <td>{{product.qty*product.price | currency:"₹"}}</td>
</tr>
</table>
Теперь проблема с этим кодом является то, что, то $index
дает фактический индекс продукта в массиве продукции. Мне нужно, чтобы он указывал индекс в фильтрованном массиве. Как мне это сделать?
Как я видел здесь http://stackoverflow.com/questions/20756694/angularjs-find-the- index-position-of-filter-value-in-the-original-array Вы можете попробовать этот продукт.indexOf (product) – Anfelipe
@Anfelipe, который я могу получить через '$ index'. Мне нужны числа из 1 ... n для n строк, которые могут меняться, если пользователь вводит 0 как qty для любого продукта. –