J'ai besoin d'un deuxième index $ pour ma boucle imbriquée ng-repeat. Comment et où devrais-je le mettre?
site AngularJS dit
La création d'alias pour ces propriétés est possible avec ngInit. Cela peut être utile, par exemple, pour imbriquer ngRepeats.
<div ng-repeat="person in persons track by $index">
<div ng-repeat="something in array track by $index2"> <!-- where to init this and how to manage it?-->
Si j'utilise à nouveau $ index, cela semble fonctionner mais je ne suis pas sûr que ce soit la bonne chose? Je suis sûr qu'il existe un moyen facile et correct de le faire, je ne pouvais tout simplement pas trouver un exemple.
Merci
$index
fera référence à l'index de la portée la plus interne ngRepeat
, donc si c'est ce dont vous avez besoin, vous pouvez simplement l'utiliser.
Ce que décrit la documentation est un scénario dans lequel vous devez avoir accès à $index
dans le parent ngRepeat
. Vous pouvez l’obtenir de différentes manières: L’une consiste à utiliser $parent
, et une autre consiste à utiliser ngInit
, en tant que Angular suggérés. Voici un exemple ...
<li ng-repeat="thing in things" ng-init="parentIndex = $index">
{{ $index }}
<ul>
<li ng-repeat="value in thing.values">
{{ value }}
{{ $index }} <!-- inner $index -->
{{ $parent.$index }} <!-- parent $index -->
{{ parentIndex }} <!-- also parent $index -->
</li>
</ul>
</li>