如何在ngFor angular中获得反向索引?

时间:2019-11-17 18:28:49

标签: angular

我正在使用Angular的最新版本,并且有一个包含3个对象的数组“ myarray”。

我要使它具有这样的div:

<div id="num2">
<div id="num1">
<div id="num0">

通常和* ng一起使用。.

<div *ngFor="let something of myarray; let i = index" [attr.id]="'num'+i">

问题在于,增量会逐渐增加,因此会从0变为2,而不是反向...

<div id="num0">
<div id="num1">
<div id="num2">

如何使它减小?

3 个答案:

答案 0 :(得分:3)

使用:

<div *ngFor="let something of myarray; let i = index;" 
     [attr.id]="'num' + (myarray.length - i - 1)">

答案 1 :(得分:1)

@ nicholas-k答案也是正确的,但是我认为最好的方法是使用ngFor指令提供的count

<div *ngFor="let something of myarray; let cnt = count; let i = index;" [attr.id]="'num' + ( cnt - i - 1 )">

答案 2 :(得分:0)

您可以将myarray的长度设置为变量,然后用索引减去它

像这样声明一个变量

myarrayLength ;

在设置了值的函数中

this.myarrayLength =myarray.length;

然后您可以在ng-for中减去

<div *ngFor="let something of myarray; let i = index" [attr.id]="'num'+ (myarrayLength - i)">