在Angular 2中的for ...指令中获取索引

时间:2015-03-29 21:48:37

标签: angular

截至目前,有没有办法在Angular 2中的for..of指令中获取iterable的当前索引?换句话说,相当于Angular.js v1中的$index ...

代码示例:

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

(当然这段代码不起作用,它不提供当前索引)

4 个答案:

答案 0 :(得分:51)

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

但是你必须使用最新版本的快速入门

BTW - 以上相当于以下语法sugar

<li *ngFor="let task of allTasks; let i=index">{{ i }} - {{ task.label }}</li>

答案 1 :(得分:19)

语法已更新,现在(截至2016年4月Angular2.beta13):

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

例如:

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

答案 2 :(得分:3)

使用 * ngFor,让:

hibernate.enable_lazy_load_no_trans

<强>组件:

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

答案 3 :(得分:1)

更新,请使用let,而不是#

<div *ngFor="let user of users; let i=index">
    {{i}}
</div>