我试图将我的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);
});
}
这个嵌套地图如何运作?为什么我不能在单个地图运算符中执行相同的操作?
答案 0 :(得分:0)
您必须将列表映射到包含此键值的列表。 我只是玩了一下它,这是我的firebase 4 vs firebase 5 code
旧代码:
.map(gamesList => {
console.log(gamesList.$key)
})
新代码:
.map(gamesList =>
{
return gamesList.map(action => ({ key: action.key, ...action.payload.val()
})
.map(gamesKey => {
console.log(gamesKey.key)
})