我有一系列对象,在ngfor中,如果团队中的成员处于活动状态,我想让成员计数。就像以下示例中的第一成员数组有2个成员,但只有一个活动,所以我应该获得长度或计数1,在第二会员数组中,有2个成员,两个成员都活跃,所以countet为2。是否可以使用ngfor将其获取否则还有其他方法。任何帮助都将不胜感激。
{
"name": "Team 1",
"members": [{
"active": true,
"fullName": "TEST",
"teamId": "xxx"
}, {
"active": false,
"fullName": "ghgfhfghgfh"
}
],
"childTeam": [{
"name": "CTeam1",
"members": [{
"active": true,
"fullName": "fghfhgfh"
}, {
"active": true,
"fullName": "retweew"
}
]
},{
"name": "CTeam2",
"members": [{
"active": true,
"fullName": "fghfhgfh"
}, {
"active": true,
"fullName": "retweew"
},
{
"active": true,
"fullName": "ddgfdgd"
}
]
}
]
}
我在NGFOR中使用它,如下 -
<div *ngFor="let membs of node.data.members; let i = index">
<div *ngIf="membs.active && node.data.members.length === 1">
<div class="pull-left leadIcon">
<mat-icon *ngIf="membs.active">person</mat-icon>
</div>
</div>
<div *ngIf="membs.active && node.data.members.length > 1">
<div class="pull-left"> {{ node.data.members.length }}</div>
</div>
</div>
html
上的道路 <div *ngIf="node.data.members.length >= 1">
<div class="pull-left"> {{getActives()}}</div>
</div>
在TS中做:
getActives(){
return this.node.data.members.filter(member => member.active == true).length;
}
plunkr没有材料正常工作:
https://plnkr.co/edit/w8mfjk1puvapgczchvee