我使用firebase数据库和AngularFireDatabase。 我无法显示* ngFor中变量的值,而该* ngFor位于其他* ngFor中。
constructor(private db: AngularFireDatabase) {
db.list('/devices/').snapshotChanges().pipe(map(changes => {
return changes.map(c => ({ key: c.payload.key, ...c.payload.val() })) }))
.subscribe(o => { this.devices = o });
}
<div *ngFor="let d of db.devices;">
<h4>{{d.name}}</h4>
<div *ngFor="let s of d.sensors;">
<p>Sensor value: {{s.value}}</p>
</div>
</div>
错误错误:找不到类型为“对象”的其他支持对象“ [对象对象]”。 NgFor仅支持绑定到数组等Iterable。
答案 0 :(得分:1)
* ngFor,就像任何for循环一样,只能在Iterables上运行。 发生错误是因为您尝试在不可迭代的对象上运行,尝试打印对象并查看它们是否为可迭代对象