Zdobądź indeks w for ... dyrektywy w kątowa 2

głosy
21

Jak na razie, czy jest jakiś sposób, aby uzyskać bieżący indeks iterable w for..ofdyrektywie w kątowym 2? W innych słowach, odpowiednik $indexw angularjs v1 ...

Przykład kodu:

<ul *for=#task of allTasks>
    <li>{{ $index}} - ` task`.`label `</li>
</ul>

(Oczywiście ten kod nie działa, to nie zapewnia bieżący indeks)

Utwórz 29/03/2015 o 20:48
źródło użytkownik
W innych językach...                            


4 odpowiedzi

głosy
45

<ul>
    <template ngFor let-task [ngForOf]="allTasks" let-i="index">
        <li>` i ` - ` task`.`label `</li>
    </template>
</ul>

Ale trzeba użyć bardzo najnowszą wersję QuickStart

Przy okazji - powyżej jest równoznaczne z następującym cukru składni

<li *ngFor="let task of allTasks; let i=index">` i ` - ` task`.`label `</li>
Odpowiedział 29/03/2015 o 22:54
źródło użytkownik

głosy
14

Składnia został zaktualizowany i jest teraz (od Angular2.beta13, kwiecień 2016):

<li *ngFor="let item of items; let i = index"></li>

Na przykład:

<li *ngFor="let item of items; let i = index">
   item=`item` index=`i`
</li>
Odpowiedział 05/04/2016 o 20:27
źródło użytkownik

głosy
0

aktualizację, należy użyć niech nie #

<div *ngFor="let user of users; let i=index">
    `i`
</div>
Odpowiedział 25/05/2016 o 00:15
źródło użytkownik

głosy
3

Zastosowanie * ngFor, niech:

<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>

Składnik:

SelectMenu(menu, $index) {       
    this.clickedItem = $index;        
}
Odpowiedział 27/09/2016 o 10:13
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more