pasar - Obtener índice en una for... de directiva en Angular 2
ngfor track by (4)
A partir de ahora, ¿hay una manera de obtener el índice actual de iterable en una directiva for..of
en Angular 2? En otras palabras, el equivalente de $index
en Angular.js v1 ...
Ejemplo de código:
<ul *for="#task of allTasks">
<li>{{ $index}} - {{ task.label }}</li>
</ul>
(por supuesto, este código no funciona, no proporciona el índice actual)
La sintaxis se ha actualizado y es ahora (a partir de Angular2.beta13, abril de 2016):
<li *ngFor="let item of items; let i = index"></li>
Por ejemplo:
<li *ngFor="let item of items; let i = index">
item={{item}} index={{i}}
</li>
Usa * ngPor, deja:
<li *ngFor="let menu of tempMenuModel.MenuItems.Items;let i=index" [ngClass]="{''active'' : clickedItem == i}" (click)="SelectMenu(menu,i)">
<span>{{menu.Header ==null?menu.Name:menu.Header}}</span>
</li>
Componente:
SelectMenu(menu, $index) {
this.clickedItem = $index;
}
actualizar, use let, no #
<div *ngFor="let user of users; let i=index">
{{i}}
</div>
<ul>
<template ngFor let-task [ngForOf]="allTasks" let-i="index">
<li>{{ i }} - {{ task.label }}</li>
</template>
</ul>
Pero tienes que usar la versión más reciente del inicio rápido
Por cierto, lo anterior es el equivalente de la siguiente sintaxis de azúcar
<li *ngFor="let task of allTasks; let i=index">{{ i }} - {{ task.label }}</li>