Więc jestem wewnątrz ng-repeat
tak:Jak używać etykiet wewnątrz pętli z angularjs
<li ng-repeat="x in xs">
<form>
<label for="UNIQUELABEL">name</label>
<input id="UNIQUELABEL">
<label for="ANOTHERUNIQUELABEL">name2</label>
<input id="ANOTHERUNIQUELABEL">
</form>
</li>
Które powinny produkować coś podobnego
<li>
<form>
<label for="UNIQUELABEL1">name</label>
<input id="UNIQUELABEL1">
<label for="ANOTHERUNIQUELABEL1">name2</label>
<input id="ANOTHERUNIQUELABEL1">
</form>
</li>
<li>
<form>
<label for="UNIQUELABEL2">name</label>
<input id="UNIQUELABEL2">
<label for="ANOTHERUNIQUELABEL2">name2</label>
<input id="ANOTHERUNIQUELABEL2">
</form>
</li>
...
Jestem nowy angularjs i nie pewny właściwy sposób podejścia (żaden z dokumentów nie używa w ogóle label
).
To jest znacznie lepsze. Ma zastosowanie do innych przypadków użycia, w których nie ma powtórzeń ng, ale musisz zapewnić globalnie unikalny identyfikator. Pamiętaj tylko, aby zachować UNIQUELABEL .._ 1 porcję unikalną w zakresie kątowym, w którym się znajdujesz. –
Zgadzam się, to jest lepsze niż zaakceptowana odpowiedź. Przyjęta odpowiedź jest wadliwa, jeśli ten fragment został użyty w dyrektywie elementowej, a wspomniana dyrektywa została użyta więcej niż raz na stronie, w której pojawiłyby się elementy o tym samym identyfikatorze! – Groady
Uważam, że zamiast $ id powinien zostać użyty indeks $. $ id jest unikalne dla każdej kontroli, a nie dla każdego elementu w iteracji. – GeekyMonkey