如果集合中有任何属性为true的项目,如何在集合上运行*ngIf
?
var data ={
Collection: [
{Flag : true },
{Flag : true },
{Flag : true },
{Flag : false }
]
}
我该怎么做*ngIf="data.Collection.ANY(Flag == true)"
答案 0 :(得分:2)
您可以在此处方便地使用js some()
,如下所示-
pw.setBackgroundDrawable(new ColorDrawable());
这是 <div *ngIf="data.Collection.some(x=>x.Flag)"></div>
的有效示例-
some()
答案 1 :(得分:0)
<div *ngIf="data.Collection.filter(x=>x.Flag).length"></div>
如果您还想处理未定义的内容
<div *ngIf="data.Collection&&data.Collection.filter(x=>x.Flag).length"></div>
答案 2 :(得分:0)
这应该有效:
*ngIf="data.Collection.reduce((a, b) => a || b.Flag, true)"
答案 3 :(得分:0)
在组件中编写如下功能
public hasFlag(): boolean {
return this.data.collection && this.data.collection.some(item => item. Flag);
}
现在调用该函数
* ngIf =“ hasFlag()”
希望您不会出现绑定错误