/ / Jak zdobyć klucz z listy Firebase przez Angularfire 5.0 - angular, firebase, angularfire2, angularfire5

Jak zdobyć klucz z listy Firebase przez Angularfire 5.0 - kątowy, firebase, angularfire2, angularfire5

Próbowałem zaktualizować mój kod Angularfire 4 dojego najnowsza wersja. Jest kilka przełomowych zmian, ponieważ nie emituje już klucza $. Oficjalna dokumentacja stwierdza, że ​​należy nią zarządzać poprzez zagnieżdżanie operatorów map, o które trudno mi zrozumieć -

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

Jak działa ta zagnieżdżona mapa? Dlaczego nie mogę wykonać tej samej operacji w jednym operatorze mapy?

Odpowiedzi:

0 dla odpowiedzi № 1

Musisz zamapować listę na listę zawierającą tę kluczową wartość. Właśnie się z tym bawiłem i to jest mój kod Firebase 4 vs. Firebase 5

Stary kod:

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

Nowy kod :

.map(gamesList =>
{
return gamesList.map(action => ({ key: action.key, ...action.payload.val()
})
.map(gamesKey => {
console.log(gamesKey.key)
})