[英]working with nested array of JSON object in angular
我有這樣的 JOSN 格式的數據。
[
{
"name": "The Godfather",
"image": "https://image.tmdb.org/t/p/w600_and_h900_bestv2/rPdtLWNsZmAtoZl9PK7S2wE3qiS.jpg" ,
"reviewRating": {
"votes": [{
"rating": 9,
"votes": 159
}, {
"rating": 8,
"votes": 201
}, {
"rating": 7,
"votes": 49
}, {
"rating": 6,
"votes": 69
}, {
"rating": 5,
"votes": 125
}],
"total": 603
}
}]
我在 HTML 文件中嘗試了這個。
<li>
{{movie.reviewRating}}
</li>
名稱和圖像加載完美,但是當我嘗試加載嵌套對象數組時。這是我得到的輸出。
[object Object]
使用*ngFor
迭代movie
數據。 由於reviewRating.votes
也是一個數組,因此您再次需要迭代reviewRating.votes
以正確顯示它。
<ul>
<li *ngFor="let item of movie">
{{ item.name }}<br />
<img [src]="item.image" />
<ul>
<li *ngFor="let vote of item.reviewRating.votes">
{{ vote.rating }} <br />
{{ vote.votes }}
</li>
</ul>
</li>
</ul>
你可以像這樣使用JsonPipe
<li>
{{movie.reviewRating | json}}
</li>
假設您想顯示每個評分的值,您應該使用ngFor
遍歷它們,如果您還需要顯示“總計”,您可以按如下所示進行。
<li *ngFor="let reviewRating of movie.reviewRating.votes">
Rating: {{reviewRating.rating}}, votes: {{reviewRating.votes}}
</li>
<li>
Total: {{movie.reviewRating.total}}
</li>
ngFor
是強制性的,因為您不能“按原樣”顯示元素數組,而 angular 無法單獨猜測它。 ngFor 將負責迭代每個項目,直到集合完成。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.