Получить объект firebase с помощью Angular

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

Если у вас есть более одного значения, вы можете их повторить.