Tengo un ngFor
bucle simple que también realiza un seguimiento de la corriente index
. Quiero almacenar ese index
valor en un atributo para poder imprimirlo. Pero no puedo entender cómo funciona esto.
Básicamente tengo esto:
<ul *ngFor="#item of items; #i = index" data-index="#i">
<li>{{item}}</li>
</ul>
Quiero almacenar el valor de #i
en el atributo data-index
. Probé varios métodos pero ninguno funcionó.
Tengo una demostración aquí: http://plnkr.co/edit/EXpOKAEIFlI9QwuRcZqp?p=preview
¿Cómo puedo almacenar el index
valor en el data-index
atributo?
attr.
es una sintaxis para indicarle a Angular2 que establezca el valor de la expresión en el nombre del atributo. Supongo que no es solo como evaluar JSON ;-) Vea este enlace: angular.io/docs/ts/latest/guide/template-syntax.htmlngFor
enli
lugar delul
.En Angular 5/6/7/8:
En versiones anteriores
Angular.io ▸ API ▸ NgForOf
Ejemplos de pruebas unitarias
Otro ejemplo interesante
fuente
index as i
funciona muy bien, gracias Pero, ¿no se*ngFor
pretende que se repita el elemento (por ejemplo,<li>
en este caso)? El código que sugirió crea múltiples<ul>
s rathers que múltiples<li>
s.index as i
es más elegante quelet i = index
Solo una actualización de esto, la respuesta de Thierry sigue siendo correcta, pero ha habido una actualización de Angular2 con respecto a:
El
#i = index
ahora debería serlet i = index
EDITAR / ACTUALIZAR:
El
*ngFor
debe haber en el elemento que está queriendo foreach, por lo que para este ejemplo que debe ser:EDITAR / ACTUALIZAR
Angular 5
EDICIÓN / ACTUALIZACIÓN
Angular 7/8
fuente
#item
debería serlet item
;-)Creo que ya se ha respondido antes, pero solo una corrección si está completando una lista desordenada,
*ngFor
aparecerá en el elemento que desea repetir. Por lo tanto, debe ser interior<li>
. Además, Angular2 ahora usa let para declarar una variable.fuente
Las otras respuestas son correctas, pero puede omitirlas por
[attr.data-index]
completo y simplemente usarfuente
Puede usar [attr.data-index] directamente para guardar el índice en el atributo de índice de datos que está disponible en las versiones angulares 2 y superiores.
fuente
Prueba esto
fuente
con paginación laravel
fuente