Check if the length of keys is equal to 0 , if it is, then the object is empty.
To check if an object is empty in TypeScript:Use the Object. keys() method to get an array of the object's keys. Access the length property on the array. If the length property is equal to 0 , the object is empty.
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
From the above answeres, following did not work or less preferable:
(previous_info | json) != '{}' works only for {} empty case, not for null or undefined caseObject.getOwnPropertyNames(previous_info).length also did not work, as Object is not accessible in the templatethis.objectLength = Object.keys(this.previous_info).length !=0;
I would not like to create a dedicated function
isEmptyObject(obj) {
return (obj && (Object.keys(obj).length === 0));
}
Solution: keyvalue pipe along with ?. (safe navigation operator); and it seems simple.
It works well when previous_info = null or previous_info = undefined or previous_info = {} and treats as falsy value.
<div *ngIf="(previous_info | keyvalue)?.length">
keyvalue - Transforms Object or Map into an array of key value pairs.
?. - The Angular safe navigation operator (?.) is a fluent and convenient way to guard against null and undefined
DEMO: demo with angular 9, though it works for previous versions as well
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With