我怎樣才能在Angular中渲染一個物件,但不把它變成一個陣列或類似的東西。原因是我有一個大型的物件,我想避免從物件到陣列的多次迭代,然后在html中回圈陣列。
例如,我有:
persons: any = {
0: { name: 'name1', email: '[email protected]' }。
1: { name: 'name2', email: '[email protected]' }。
2: { name: 'name3', email: '[email protected]' }
}
當我這樣做的時候是:
<div *ngFor="let person of persons | keyvalue"/span>>
<p>/span>
{{person.key}} / {{ person.value }}.
</p>/span>
</div>
結果是:
0 / [object Object]
1 / [object Object]
2 / [object Object]
我試著在person.value中再回圈一次:
<div *ngFor="let person of persons | keyvalue;"/span>>
<p>/span>
{{ person.key }}.
<span *ngFor="let item of person. value | keyvalue"></span>
</p>/span>
</div>
但是這導致了一個錯誤("沒有與此呼叫相匹配的多載。")。
誰能告訴我怎樣才能做到這一點?
uj5u.com熱心網友回復:
你可以直接使用json管道
舉例:
{{persons | json}}。
文獻資料。https://angular.io/api/common/JsonPipe
uj5u.com熱心網友回復:
keyvalue管道轉換0: { name: 'name1', email: '[email protected]' }變成{ key : 0, value : { name: 'name1', email: '[email protected]' }}。因此,你應該能夠做到:
<div *ngFor="let person of persons | keyvalue"/span>>
<p>/span>
{{ person.value.name}} / {{ person.value.email }}.
</p>/span>
</div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/329112.html
標籤:
