88 votes

Iteration ng-repeat seulement X fois dans AngularJs

Comment puis-je utiliser ng-repeat comme pour en Javascript ?

exemple :

<div ng-repeat="4">Text</div>

Je veux itérer avec ng-repeat 4 fois mais comment faire ?

343voto

DavidLin Points 2883

Angular est livré avec un filtre limitTo:limit, qui permet de limiter les x premiers éléments et les x derniers éléments :

<div ng-repeat="item in items|limitTo:4">{{item}}</div>

65voto

ChandrasekarG Points 991

C'est la solution la plus simple à laquelle j'ai pensé.

<span ng-repeat="n in [].constructor(5) track by $index">
{{$index}}
</span>

Voici un L'exemple de Plunker.

50voto

G45 Points 836

Vous pouvez utiliser la méthode slice dans un tableau javascript

<div ng-repeat="item in items.slice(0, 4)">{{item}}</div>

Court et agréable

39voto

mpm Points 10669

Dans le html :

<div ng-repeat="t in getTimes(4)">text</div>

et dans le contrôleur :

$scope.getTimes=function(n){
     return new Array(n);
};

http://plnkr.co/edit/j5kNLY4Xr43CzcjM1gkj

EDIT :

avec angularjs > 1.2.x

<div ng-repeat="t in getTimes(4) track by $index">TEXT</div>

13voto

PAG Points 221

La réponse donnée par @mpm ne fonctionne pas elle donne l'erreur

Les doublons dans un répéteur ne sont pas autorisés. Utilisez l'expression 'track by' pour spécifier des clés uniques. Répétiteur : {0}, Clé en double : {1}

Pour éviter cela, ainsi que

ng-repeat="t in getTimes(4)"

utiliser

piste par $index

comme ceci

<div ng-repeat="t in getTimes(4) track by $index">TEXT</div>.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X