Eu preciso de um segundo índice $ para o meu loop ng-repeat aninhado. Como e onde devo colocar isso?
Site AngularJS diz
Criar aliases para essas propriedades é possível com ngInit. este pode ser útil quando, por exemplo, aninhando 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?-->
Se eu usar o $ index novamente, parece funcionar, mas não tenho certeza se essa é a coisa certa? Eu tenho certeza que existe uma maneira fácil e correta de fazer isso, eu simplesmente não consegui encontrar um exemplo.
obrigado
Respostas:
116 para resposta № 1$index
vai se referir ao índice no mais interno ngRepeat
escopo, então se isso é o que você precisa, você pode simplesmente usá-lo.
O que os documentos estão descrevendo é um cenário em que você precisa acessar $index
no pai ngRepeat
. Você pode obtê-lo de duas maneiras: uma é usar $parent
e outro é usar ngInit
, como os documentos angulares sugeriram. Aqui está um exemplo ...
<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>