AngularFire2 RealTime数据库返回的数据看起来不像firebase中的数据

时间:2018-06-18 23:59:26

标签: angular angularfire2

我的数据

enter image description here

我的组件

ngOnInit() {
    this.current = db.list(`products/${this.product['sku']}/data/config`).valueChanges();
}

我的模板

<ng-container *ngIf="current">
    <div *ngFor="let set of current|async">
        <!-- this level works as expected -->
        <div *ngFor="let option of set.options">
            <!-- console reads: find a differ supporting object. NgFor only supports binding to Iterables -->
        </div>
    </div>
</ng-container>

问题

看起来我需要帮助的问题是set.option是对象的对象。所以我试着做*ngFor="let option of toArray(set.options)">哪个有效,但当我在toArray()中调试一些内容时,它会将内容打印到日志中。那不好吗?

问题

如何将options放入可迭代数组

1 个答案:

答案 0 :(得分:0)

使用AngularFire v5,我们使用了更多NGRX友好的API。您的数据将位于.payload界面的Action部分。

对于您的情况,您可能想要一个对象(因为您不想单独观察每个密钥)并且因为您已经知道密钥(并且可能不使用NGRX),您可以使用更简单的API .valueChanges()

setCurrent(product_id) {
    return this.db.object(`products/${product_id}`).valueChanges();
}

我建议更多地阅读我们的文档https://github.com/angular/angularfire2#realtime-database