Estoy usando Handlebars para crear plantillas en mi proyecto. ¿Hay alguna manera de obtener el índice de la iteración actual de un "cada" ayudante en Manillar?
<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
Thunderboltz
fuente
fuente
Respuestas:
En las versiones más recientes de Handlebars, el índice (o clave en el caso de la iteración de objetos) se proporciona por defecto con el estándar de cada ayudante.
fragmento de: https://github.com/wycats/handlebars.js/issues/250#issuecomment-9514811
El índice del elemento de matriz actual ha estado disponible desde hace algún tiempo a través de @index:
Para la iteración de objetos, use @key en su lugar:
fuente
Uncaught SyntaxError: Unexpected token ,
@index
y@first
ahora también son compatibles con cada iteración en los objetos.{{@@index}}
Uncaught SyntaxError: Unexpected token ,
Esto ha cambiado en las versiones más nuevas de Ember.
Para matrices:
Parece que el bloque #each ya no funciona en objetos. Mi sugerencia es rodar su propia función auxiliar para ello.
Gracias a este extremo .
fuente
Sé que esto es demasiado tarde. Pero resolví este problema con el siguiente código:
Script Java:
HTML:
si desea comenzar su índice con 1, debe hacer el siguiente código:
Javascript:
HTML:
Gracias.
fuente
En la versión 3.0 del manillar en adelante,
En este ejemplo en particular, el usuario tendrá el mismo valor que el contexto actual y userId tendrá el valor de índice para la iteración. Consulte - http://handlebarsjs.com/block_helpers.html en la sección de ayudantes de bloque
fuente
Matrices:
Si tiene matrices de objetos ... puede recorrer los elementos secundarios:
Objetos:
Si tiene objetos anidados, puede acceder al
key
objeto primario con{{@../key}}
fuente
En la versión 4.0 del manillar en adelante,
fuente