Ata*_*nov 4 javascript render object ngfor angular
我如何在 Angular 中渲染对象的对象,但不将其转换为数组或类似的内容。原因是我有一个很大的对象,我想避免在 html 中循环数组之后从对象到数组的多次迭代。
例如我有:
persons: any = {
0: { name: 'name1', email: 'name1@gmail.com' },
1: { name: 'name2', email: 'name2@gmail.com' },
2: { name: 'name3', email: 'name3@gmail.com' }
}
Run Code Online (Sandbox Code Playgroud)
当我这样做时,如下:
<div *ngFor="let person of persons | keyvalue">
<p>
{{ person.key }} / {{ person.value }}
</p>
</div>
Run Code Online (Sandbox Code Playgroud)
结果是:
0 / [object Object]
1 / [object Object]
2 / [object Object]
Run Code Online (Sandbox Code Playgroud)
我尝试再循环一次 person.value:
<div *ngFor="let person of persons | keyvalue;">
<p>
{{ person.key }}
<span *ngFor="let item of person.value | keyvalue"></span>
</p>
</div>
Run Code Online (Sandbox Code Playgroud)
但这会导致错误(“没有重载与此调用匹配。”)。
谁能告诉我如何实现这一目标?
你可以只使用json管道
例子:
{{persons | json}}
Run Code Online (Sandbox Code Playgroud)
文档: https: //angular.io/api/common/JsonPipe