3

我试图将我的 Angularfire 4 代码升级到最新版本。有一些重大变化,因为它不再发出 $key。官方文档声明通过嵌套我很难理解的地图运算符来管理它 -

constructor(afDb: AngularFireDatabase) {
  afDb.list('items').snapshotChanges().map(actions => {
    return actions.map(action => ({ key: action.key, ...action.payload.val() }));
  }).subscribe(items => {
    return items.map(item => item.key);
  });
}

这个嵌套地图是如何工作的?为什么我不能在单个地图运算符中执行相同的操作?

4

1 回答 1

1

您必须将列表映射到包含此键值的列表。我只是玩了一下,这是我的 firebase 4 vs firebase 5 代码

旧代码:

.map(gamesList => {
   console.log(gamesList.$key)
})

新代码:

.map(gamesList => 
{ 
     return gamesList.map(action => ({ key: action.key, ...action.payload.val() 
})
.map(gamesKey => {
    console.log(gamesKey.key)
})
于 2017-12-05T19:24:55.767 回答