嗨,朋友,我的代码有问题: 它显示了错误:(错误错误:找不到类型为“对象”的其他支持对象“ [对象对象]”。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>
答案 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>