2017-07-19 45 views
2

比方说,我有对象的数组,我循环通过:角2:ngFor指数只有当情况下满足递增

arr = [ {a: 1}, {a: 2}, {a: 1} ] 

,我想在我看来,以显示对象的索引,但我只想让索引在满足条件时增加。像a == 1。所以,如果我有一些代码,如:

<!-- I know this won't work --> 
<ul> 
    <li *ngFor="let obj of arr; let i = index">{{ i }}</li> 
</ul> 

...这将显示为:

<li>0</li> 
<li></li> 
<li>1</li> 
+0

您需要在组件中使用一个变量来手动和手动跟踪ternally。如果需要/可以提供示例。 –

+1

只需将一个属性添加到数组中的包含条件增量的对象中,并计算在需要在组件中的函数内进行计算时进入该属性的值。 '[{a:1,b:0},{a:2},{a:1,b:1}]'' – snaplemouton

回答

2

app.component.ts:

arr:{a:number}[] = [{a: 1},{a: 2},{a: 1} ]; 

app.component.html

<ul> 
    <div *ngFor="let obj of arr; let i = index"> 
    <div *ngIf="obj.a == 1"> 
    <li>{{i}}</li> 
    </div> 
    </div> 
</ul>