How to check empty object in angular 2 template using *ngIf
I want to check if my object is empty dont render my element, and this is my code:
<div class="comeBack_up" *ngIf="previous_info != {}">
<a
[routerLink]="['Inside_group_page',{'name':previous_info.path | dotTodash }]"
>
{{previous_info.title}}
</a>
</div>
but my code is wrong, what is the best way to do this?
This should do what you want:
<div class="comeBack_up" *ngIf="(previous_info | json) != ({} | json)">
or shorter
<div class="comeBack_up" *ngIf="(previous_info | json) != '{}'">
Each {}
creates a new instance and ====
comparison of different objects instances always results in false
. When they are convert to strings ===
results to true
Plunker example
You could also use something like that:
<div class="comeBack_up" *ngIf="isEmptyObject(previous_info)" >
with the isEmptyObject
method defined in your component:
isEmptyObject(obj) {
return (obj && (Object.keys(obj).length === 0));
}
Above answers are okay. But I have found a really nice option to use following in the view:
{{previous_info?.title}}
probably duplicated question Angular2 - error if don't check if {{object.field}} exists
链接地址: http://www.djcxy.com/p/76356.html上一篇: 我如何检查是否提供了可选参数?