Potrzebuję drugiego indeksu $ dla mojej zagnieżdżonej pętli ng-repeat. Jak i gdzie mam to umieścić?
Witryna AngularJS mówi
Utworzenie aliasów dla tych właściwości jest możliwe dzięki ngInit. To może być przydatny na przykład podczas zagnieżdżania 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?-->
Jeśli ponownie użyję indeksu $, wydaje się, że działa, ale nie jestem pewien, czy to jest właściwe? Jestem pewien, że istnieje prosty i prawidłowy sposób, po prostu nie byłem w stanie znaleźć przykładu.
Dzięki
Odpowiedzi:
116 za odpowiedź nr 1$index
będzie odnosić się do indeksu w najbardziej wewnętrznej pozycji ngRepeat
zakres, więc jeśli tego potrzebujesz, możesz go po prostu użyć.
Dokumenty opisują scenariusz, do którego potrzebujesz dostępu $index
w rodzicu ngRepeat
. Możesz to zrobić na kilka sposobów: Jednym z nich jest użycie $parent
, a innym jest użycie ngInit
, jak sugerowali doktorzy Angulara. Oto przykład ...
<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>