Где добавить 'track by $index' при использовании Filter и Pagination в одном и том же ng-repeat
У меня есть ng-repeat и filter, затем я добавил нумерацию bootstrap-ui и все работает нормально
Чтобы добавить поля Edit, мне нужно было использовать "track by $index", но я не могу найти правильный способ добавить его в свой ng-repeat. Это мой HTML-вид:
<tr data-ng-repeat="target in targets | filter:search | startFrom:(currentPage - 1) * pageSize | limitTo: pageSize ">
<td><input type="text" ng-model-options="{ updateOn: 'blur' }" ng-change="updateTarget(targets[$index])" ng-model="targets[$index].YEAR"></td>
<td><input type="text" ng-model-options="{ updateOn: 'blur' }" ng-change="updateTarget(targets[$index])" ng-model="targets[$index].MONTH"></td>
<td><input type="text" ng-model-options="{ updateOn: 'blur' }" ng-change="updateTarget(targets[$index])" ng-model="targets[$index].TV"></td>
</tr>
Мой PageSize Limit установлен на 5, поэтому мой индекс перезапускается с 1 до 5 на каждой странице, потому что я не добавил трек по $ index в моем ng-repeat. Поэтому, если я редактирую строку № 2, она будет редактировать каждую строку № 2 в каждая страница,
Любая идея, как добавить 'track by $index' при использовании Filter и Pagination в одном и том же ng-repeat
1 ответ
Согласно угловой документации здесь:
Примечание: track by всегда должен быть последним выражением:
<div ng-repeat="model in collection | orderBy: 'id' as filtered_result track by model.id">
{{model.name}}
</div>