Reputation: 58553
Want to loop through json object
//Defined on component side :
jsonObj = {
'1' : [ {"title" : "title1" , "desc" : "desc1" }],
'2' : [ {"title" : "title2" , "desc" : "desc2" }],
'3' : [ {"title" : "title3" , "desc" : "desc3" }],
'4' : [ {"title" : "title4" , "desc" : "desc4" }],
'5' : [ {"title" : "title5" , "desc" : "desc5" }]
}
With *ngFor
only on template side ,
And without any coding (function) on component side.
Want to print just each title
and desc
Is this possible ? If Yes ? How ?
Upvotes: 0
Views: 5100
Reputation: 58553
So great to find the best solution from Angular itself provides pipe to loop through JSON , and its keyvalue
<div *ngFor='let item of jsonObj | keyvalue'>
Key: {{item.key}}
<div *ngFor='let obj of item.value'>
{{ obj.title }}
{{ obj.desc }}
</div>
</div>
Previously :
Component side :
objectKeys = Object.keys;
Template side :
<div *ngFor='let key of objectKeys(jsonObj)'>
Key: {{key}}
<div *ngFor='let obj of jsonObj[key]'>
{{ obj.title }}
{{ obj.desc }}
</div>
</div>
Upvotes: 3