将可观察对象映射到FirebaseListObservable元素属性

时间:2017-07-13 00:12:22

标签: angular typescript firebase firebase-realtime-database angularfire2

希望有人能指出我正确的方向。

我希望能够将项目详细信息映射到可观察的项目列表,以便可以通过item.details访问它,如下面第三部分所示。

'itemDetails'是可观察的并不重要,因为它们不太可能改变。

{
  "items": {
    "1111": {
      "count": 5
    },
    "2222": {
      "count": 4
    }  
  },
  "itemDetails": {
    "1111": {
      "title": "a title"
    },
    "2222": {
      "title": "another title"
    }
  }
}
items: FirebaseListObservable<any>;

ngOnInit() {
  this.items = this.db.list("items");
}
<some-elem *ngFor="let item of items | async">
        {{item.details | json}}
</some-elem>

1 个答案:

答案 0 :(得分:0)

我的解决方案是:

this.items = this.db.list('items')
  .map(itemEntries => {
    itemEntries.map(itemEntry => {
      itemEntry.details = this.db.object(`itemDetails/${itemEntry.$key}`)
   })
   return itemEntries;
 })

希望能帮到某人