如何使用* ngIf检查角2模板中的空对象
我想检查我的对象是否为空,不要渲染我的元素,这是我的代码:
<div class="comeBack_up" *ngIf="previous_info != {}">
<a
[routerLink]="['Inside_group_page',{'name':previous_info.path | dotTodash }]"
>
{{previous_info.title}}
</a>
</div>
但我的代码是错误的,最好的办法是什么?
这应该做你想做的事情:
<div class="comeBack_up" *ngIf="(previous_info | json) != ({} | json)">
或更短
<div class="comeBack_up" *ngIf="(previous_info | json) != '{}'">
每个{}
都会创建一个新的实例,并且====
比较不同的对象实例总是会导致false
。 当它们被转换为字符串===
结果为true
Plunker的例子
你也可以使用类似的东西:
<div class="comeBack_up" *ngIf="isEmptyObject(previous_info)" >
使用组件中定义的isEmptyObject
方法:
isEmptyObject(obj) {
return (obj && (Object.keys(obj).length === 0));
}
以上答案是可以的。 但是我发现在视图中使用以下内容是非常好的选择:
{{previous_info?.title伪}}
可能重复的问题Angular2 - 错误如果不检查是否存在{{object.field}}
链接地址: http://www.djcxy.com/p/76355.html上一篇: How to check empty object in angular 2 template using *ngIf