Ho il seguente codice che ripete e visualizza il nome dell'utente e il suo punteggio:
<div ng-controller="AngularCtrl" ng-app>
<div ng-repeat="user in users | orderBy:predicate:reverse | limitTo:10">
<div ng-init="user.score=user.id+1">
{{user.name}} and {{user.score}}
</div>
</div>
</div>
E il corrispondente controller angolare.
function AngularCtrl($scope) {
$scope.predicate = 'score';
$scope.reverse = true;
$scope.users = [{id: 1, name: 'John'}, {id: 2, name: 'Ken'}, {id: 3, name: 'smith'}, {id: 4, name: 'kevin'}, {id: 5, name: 'bob'}, {id: 6, name: 'Dev'}, {id: 7, name: 'Joe'}, {id: 8, name: 'kevin'}, {id: 9, name: 'John'}, {id: 10, name: 'Ken'}, {id: 11, name: 'John'}, {id: 1, name: 'John'}, {id: 2, name: 'Ken'}, {id: 3, name: 'smith'}, {id: 4, name: 'kevin'}, {id: 5, name: 'bob'}, {id: 6, name: 'Dev'}, {id: 7, name: 'Joe'}, {id: 8, name: 'kevin'}, {id: 9, name: 'John'}, {id: 10, name: 'Ken'}]
}
Quando eseguo il codice sopra, ottengo l' errore: 10 $ digest () iterazioni raggiunte. Interruzione! errore nella mia console.
Ho creato jsfiddle per lo stesso.
Il predicato di ordinamento viene inizializzato solo all'interno di ng-repeat e anche il limite viene applicato al numero di oggetti. quindi sento che avere sia l'ordinamento che il limite Per guardare insieme è la ragione dell'errore.
Se $ scope.reverse è falso (ordine di punteggio crescente), allora non si verifica un errore.
Qualcuno può aiutarmi a capire cosa c'è che non va qui? Apprezzo molto il tuo aiuto.