Angular:获取ngFor中的当前索引

时间:2018-03-06 05:14:35

标签: angular

我有以下角度:

<div class="test" *ngFor="let item of data; let i = index">
    {{item}}
</div>

<div class="function_div" (click)="test(i);">Test Button </div>

然后在.ts

export class test{

  test(){
     console.log(i);
  }

}

我想获得一个带有当前索引号的变量。

我如何才能获得当前的指数?

由于

4 个答案:

答案 0 :(得分:9)

根据OP对问题的评论:

  

所以,我正在尝试获取ngFor的索引以便执行   在触发另一个函数之前与数据数组进行比较。对于   例如,单击按钮时将触发test()函数,   然后它会检查当前的索引,并用它做一些事情。

你应该这样做:

<div class="test" *ngFor="let item of data; let i = index">
    // In your case this line should be within ngFor loop
    <div class="function_div" (click)="test(i);">Test Button </div>
    {{item}}
</div>
  

注意:永远不要调用如下函数:

     

{{ test(i) }} //每次发生任何变化时都会执行此操作   环

答案 1 :(得分:3)

你为什么不......

<div class="test" *ngFor="let item of data; let i = index">
    {{ test(i) }}
</div>


export class test{

  test(i: number){
     console.log(i);
  }

}

答案 2 :(得分:1)

您可以创建自己的指令,通过 7,5,4,6,9,8 获取每个函数调用的当前索引。您可以按照answer

进行操作

答案 3 :(得分:0)

您可以像这样通过简单的方式来激励他们

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

          {{ i }} {{ item }}

    </div>