web-dev-qa-db-fra.com

Angular ng-repeat avec condition de longueur de tableau

Je veux le ng-repeat à exécuter uniquement lorsque le photos.length > 1

Cela ne semble pas fonctionner:

<div ng-repeat="thumb in photos | photos.length > 1">

Existe-t-il une astuce rapide/élégante pour le faire? J'ai juste besoin de vérifier la longueur du tableau et rien d'autre.

Je détesterais dupliquer le tableau sur un autre tableau en faisant quelque chose comme ça

if (oldArray.length > 1)
 newArray = photos;
else
 newArray = [];

... puis faites ng-repeat sur newArray. Cela semble inefficace.

Merci.

16
HP.

Essayer:

<div ng-repeat="thumb in photos" ng-if="photos.length > 1"></div>

si la ng-if la condition n'est pas satisfaite, ces éléments seront supprimés du DOM. Voir http://docs.angularjs.org/api/ng/directive/ngIf pour plus de référence.

39
kamilkp

Vous pouvez essayer d'utiliser la directive ng -if pour vérifier la condition que vous décrivez, par exemple.

<div ng-if='photos.length > 1'> your HTML here </div>
5
rom99