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
放入可迭代数组
答案 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