我正在尝试使用简单的ngFor
,但我正在处理一个问题。
对象
export class Post {
$key: string;
title: string;
subtitle: string;
postedBy: string;
imageUrl: string;
paragraphs: [] = [];
}
我的意图是使用以下HTML
代码:
<p *ngFor="let p of databaseService.selectedPost[0].paragraphs">a</p>
表示我想在对象的每个段落中显示一个段落,但出现此错误:
错误错误:找不到其他支持对象'[对象对象]' 类型为“对象”。 NgFor仅支持绑定到Iterables,例如 数组。
我尝试在我的第一个段落中使用console.log(this.selectedPost[0].paragraphs.p1);
作为p1
,它确实有效,但是我无法从HTML
开始使用(它具有p1,p2,p3 ..作为名称)。下一张图片显示了console.log
这是数据库中的对象:
我该怎么办?
答案 0 :(得分:1)
从事物的声音来看,databaseService.selectedPost[0].paragraph
是一个对象,正如您所说,您可以直接访问p1
。
我尝试使用console.log(this.selectedPost [0] .paragraphs.p1);在我的第一个段落中成为p1,它实际上有效
在这种情况下,您可以使用Angular的KeyValuePipe来迭代*ngFor
一个工作示例如下:
<p *ngFor="let paragraph of databaseService.selectedPost[0].paragraphs | keyvalue">{{ paragraph.value }}</p>