Obtenir l'index (compteur) d'un "ng-repeat" de l'élément avec AngularJS?
Je suis en utilisant AngularJS et ses ng-repeat
directive pour afficher une séquence de questions. J'ai besoin de numéro de chaque question en commençant par 1
. Comment puis-je afficher et incrémenter un tel compteur avec ng-repeat
? Voici ce que j'ai à ce jour:
<ul>
<li ng-repeat="question in questions | filter: {questionTypesId: questionType, selected: true}">
<div>
<span class="name">
{{ question.questionText }}
</span>
</div>
<ul>
<li ng-repeat="answer in question.answers">
<span class="name">
{{answer.selector}}. {{ answer.answerText }}
</span>
</li>
</ul>
</li>
</ul>
Vous devez vous connecter pour publier un commentaire.
Angularjs documentation est pleine d'exemples, vous avez juste besoin de prendre du temps et de l'explorer.
Voir cet exemple ici : ngRepeat exemple , c'est le même cas.
HTML:
ngIf
dans le même temps sera toujours incrément$index
, qui ne fonctionne pas dans votre exemple. Comme je veux utiliser quelque chose commeng-class="{ 'even': $index % 2 == 0 }"
Essayer de trouver une solution de contournement pour ce sans toucher à la manette, si quelqu'un sait comment l'amour de l'entendre.Atteint ici par la recherche de quelque chose de similaire.
Voici ce qui a fonctionné pour moi.
+1 est ajouté, car l'index commence à partir de 0.
Il y a deux façons d'obtenir un indice du tableau donné en ng-repeat
À l'aide de $index
À l'aide d'un compteur de
Cette méthode est utile lorsque vous avez imbriqué ng-repeat et vous avez besoin de compteurs de boucles...l'exemple suivant utilise le compteur de ligne. Bien que la piste par $index est nécessaire, il n'est pas utilisé pour la logique.
Dans les deux cas, le compteur commence à 0 et vous pouvez compenser à l'aide de +1 si vous aimez