Używam kierownic do szablonów w moim projekcie. Czy istnieje sposób na uzyskanie indeksu bieżącej iteracji „każdego” pomocnika w kierownicy?
<tbody>
{{#each item}}
<tr>
<td><!--HOW TO GET ARRAY INDEX HERE?--></td>
<td>{{this.key}}</td>
<td>{{this.value}}</td>
</tr>
{{/each}}
</tbody>
javascript
handlebars.js
piorun
źródło
źródło
Odpowiedzi:
W nowszych wersjach indeks kierownicy (lub klucz w przypadku iteracji obiektu) jest domyślnie dostarczany ze standardowym każdym pomocnikiem.
fragment z: https://github.com/wycats/handlebars.js/issues/250#issuecomment-9514811
Indeks bieżącego elementu tablicy jest dostępny od pewnego czasu za pośrednictwem @index:
Do iteracji obiektu użyj @key zamiast:
źródło
Uncaught SyntaxError: Unexpected token ,
@index
i@first
są teraz obsługiwane w każdej iteracji na obiektach zbyt.{{@@index}}
Uncaught SyntaxError: Unexpected token ,
Zmieniło się to w nowszych wersjach Embera.
W przypadku tablic:
Wygląda na to, że blok #each nie działa już na obiektach. Moją sugestią jest stworzenie dla niej własnej funkcji pomocnika.
Dzięki za tę wskazówkę .
źródło
Wiem, że jest za późno. Ale rozwiązałem ten problem za pomocą następującego kodu:
Skrypt Java:
HTML:
jeśli chcesz rozpocząć indeks od 1, powinieneś wykonać następujący kod:
JavaScript:
HTML:
Dzięki.
źródło
Od wersji 3.0 kierownicy,
W tym konkretnym przykładzie użytkownik będzie miał tę samą wartość, co bieżący kontekst, a użytkownik będzie miał wartość indeksu dla iteracji. Patrz - http://handlebarsjs.com/block_helpers.html w sekcji pomocników bloku
źródło
Tablice:
Jeśli masz tablice obiektów ... możesz iterować przez dzieci:
Obiekty:
Jeśli masz zagnieżdżone obiekty, możesz uzyskać dostęp do
key
obiektu nadrzędnego za pomocą{{@../key}}
źródło
W wersji 4.0 kierownicy,
źródło