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 ?

10voto

funnyniko Points 119

Pour répéter 7 fois, essayez d'utiliser un tableau avec longueur=7 alors piste il par $index :

<span ng-repeat="a in (((b=[]).length=7)&&b) track by $index" ng-bind="$index + 1 + ', '"></span>

b=[] créer un tableau vide "b",
.length=7 définissez sa taille à "7",
&&b que le nouveau tableau "b" soit disponible pour ng-repeat,
track by $index"$index" est la position de l'itération.
ng-bind="$index + 1" affichage à partir de 1.

Pour répéter X temps :
remplacez simplement 7 por X .

3voto

Toutes les réponses ici semblent supposer que articles est un tableau. Toutefois, dans AngularJS, il pourrait tout aussi bien s'agir d'un objet. Dans ce cas, ni le filtrage avec limitTo ni array.slice ne fonctionneront. Comme solution possible, vous pouvez convertir votre objet en un tableau, si cela ne vous dérange pas de perdre les clés de l'objet. Voici un exemple de filtre permettant de faire cela :

myFilter.filter('obj2arr', function() {
    return function(obj) {
        if (typeof obj === 'object') {
            var arr = [], i = 0, key;
            for( key in obj ) {
                arr[i] = obj[key];
                i++;
            }
            return arr;
        }
        else {
            return obj;
        }

    };
});

Une fois que c'est un tableau, utilisez slice ou limitTo, comme indiqué dans d'autres réponses.

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