如何通过Angularfire 5.0从Firebase列表中获取密钥

3

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

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);
  });
}

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

1
你需要将该列表映射到一个包含此键值的列表中。 我刚刚尝试了一下,这是我的 Firebase 4 和 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)
})

太高兴了,他们改变了那个。现在简单多了。 - leetheguy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接