2015-05-12 10 views
21

Sto provando a limitare un oggetto che arriva filtrando (perché ci sarà un'opzione per mostrare tutti alla fine), tuttavia sto riscontrando problemi quando provo a limitTo e traccia per indice. Ecco il codice:

<div ng-repeat="item in filter.values track by $index | limitTo:filterLimit" class="cengage-builder-result-filter-value" value="item" update-filter="updateFilter"> 

Nel controllore:

$scope.filterLimit = 5; 

Si sta dicendo che ho doppioni in errore angolare così sto pensando in pista in base all'indice $ non funziona qui. Non riesco a trovare un modo corretto per farlo, potrebbe servirci di aiuto. Grazie!

risposta

57

Filtri, come limitTo, orderBy, ecc ... deve venire prima track by, in quanto si applicano alla fonte matrice, piuttosto che al track by espressione.

<div ng-repeat="item in filter.values | limitTo:filterLimit track by $index"> 
6

Prova questa Usa limitTo prima track by

<div ng-repeat="item in filter.values | limitTo:filterLimit track by $index" class="cengage-builder-result-filter-value" value="item" update-filter="updateFilter"> 
+0

questo ha un senso, ma per qualche motivo nulla sta rivelando quando faccio questo, nessun errore né – ajmajmajma

+0

Ma senza limitto mostra? –