NgFor仅支持绑定到Iterables,例如数组。 (IONIC4)

时间:2019-02-23 16:05:14

标签: angular firebase ionic-framework google-cloud-firestore ionic4

嗨,朋友,我的代码有问题: 它显示了错误:(错误错误:找不到类型为“对象”的其他支持对象“ [对象对象]”。NgFor仅支持绑定到可迭代对象,例如数组。) 我想向firestore的文档显示ID是我从另一个页面传递过来的。

我的代码: detail.page.ts

export class DetailsPage implements OnInit {
  id: string;

  news2: any;

  constructor(private router: ActivatedRoute, private afs: AngularFirestore) {

   }

  ngOnInit() {
    this.id = this.router.snapshot.paramMap.get('id');
    console.log(this.id);
   this.news2 = this.afs.collection('123').doc(this.id).snapshotChanges()
.subscribe(data => {
console.log(data);
});
}

details.page.html

<ion-content padding *ngFor="let hero of news2">
 {{hero.title}}


</ion-content>

2 个答案:

答案 0 :(得分:0)

Angular故意不支持使用*ngFor进行对象属性的迭代,因为没有像数组那样的排序协定-这意味着列表的排序在视图呈现中可能不一致。我建议修改您的 AngularFirestone API以返回Array作为news2而不是object,以便提供有保证的订购合同。

答案 1 :(得分:0)

您可以使用keyvalue pipe

<div *ngFor="let pair of obj | keyvalue">
  <p>Object key: {{pair.key}}</p>
  <p>Object value: {{pair.value}}</p>
</div>