* ng对于子数组对象-Angular + Firebase

时间:2019-02-26 19:28:00

标签: json angular ngfor

我正在尝试使用简单的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

enter image description here

这是数据库中的对象:

enter image description here

我该怎么办?

1 个答案:

答案 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>