Firebase数据库上的* ngFor中的* ngFor

时间:2019-04-29 10:31:32

标签: angular firebase-realtime-database angularfire2

我使用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。

1 个答案:

答案 0 :(得分:1)

* ngFor,就像任何for循环一样,只能在Iterables上运行。 发生错误是因为您尝试在不可迭代的对象上运行,尝试打印对象并查看它们是否为可迭代对象