#angular #typescript #firebase
#angular #typescript #firebase
Вопрос:
Я пытаюсь получить объект firebase с помощью Angular, и мне это удается. Однако я не уверен, как бы я глубже изучил то, что возвращается (рисунок ниже).
Что возвращается сейчас и Мой объект Firebase
Вот как я сюда попал:
Клиентский сервис
getClientsOfThisBranch(branchNumber:string){
return this.db.list('/clients/' branchNumber).snapshotChanges();
}
SomeComponent
clientInfo$: any[] = [];
this.clientService.getClientsOfThisBranch('17').subscribe(data => {
data.forEach(x => { console.log( x.payload.val() ); this.clientInfo$.push(x.payload.val())})
});
Буду признателен за любую помощь.
Спасибо.
Ответ №1:
Насколько я могу понять из вашего вопроса, вы пытаетесь преобразовать возвращаемые данные в массив clientInfo. Вы получаете данные как объект идентификатора клиента, содержащий информацию о клиенте. Вы можете использовать Object.keys()
и Object.values()
для более глубокого обхода.
clientInfo: any[];
this.clientService.getClientsOfThisBranch('17').subscribe(data => {
this.clientInfo = data.map(x => {
let obj = x.payload.val();
let id = Object.keys(obj)[0]; //Assuming only 1 item as per image posted
let info = Object.values(obj)[0]; //Assuming only 1 item as per image posted
console.log(id, info);
})
});
Если у вас есть более одного значения, вы можете их повторить.