Ionic 2 Angularfire2 - 将数据库中的对象列表添加到FirebaseListObservable

时间:2017-06-07 06:27:02

标签: firebase firebase-realtime-database ionic2 angularfire2

我试图在Firebase数据库中显示对象列表,但我很难将对象添加到FirebaseListObservable。

这是我的代码:

    products: FirebaseListObservable<any[]>;

    this.db.list('products/' + this.user.uid, { preserveSnapshot: true})
                .subscribe(snapshots=>{
                  var jsonObject = [];
                  snapshots.forEach(snapshot => {
                    jsonObject.push(snapshot.val());
                  });
                  this.products = jsonObject;
    });

我得到的错误是我无法将任何[]分配给FirebaseListObservable。

这是我的HTML:

<ion-list>
    <ion-item class="text" *ngFor="let product of products | async">
      {{product}}
    </ion-item>
 </ion-list>

我的数据库如下所示:

Thanks in advanced for the help :)

1 个答案:

答案 0 :(得分:3)

您的产品 FirebaseListObservable ,但是, jsonObject 是一个数组,因此您不能让 this.products =的JSONObject

也许你应该这样做:

products: Observable<any[]>;
this.products = this.db.list('products/' + this.user.uid, { preserveSnapshot: true})
            .map(snapshots=>{
             return snapshots.map(snapshot => {
                return snapshot.val();
              });
});