Angular 5 How to read - список данных массива из документов пожарного депо - PullRequest
0 голосов
/ 26 мая 2018

В коллекторских компаниях есть документы с моделью

company: example
address: nowhere
users:{
  123456789:{
   email: qwerty@example.com
  }
}

, где 123456789 - идентификатор пользователя

Для получения данных из документов

this.compColl = this.afs.collection('companies');
this.comp = this.compColl.valueChanges();

Для просмотра данных в представлении

<li *ngFor="let cmp of comp | async">{{cmp.company}}</li>

Это работает для полей компании и адреса, но не работает для

<li *ngFor="let cmp of comp | async">{{cmp.email}}</li>

Как составить список адресов электронной почты пользователей из этого документа

1 Ответ

0 голосов
/ 26 мая 2018
users:{
  123456789:{
   email: qwerty@example.com
  }
}

Если вы хотите получить qwerty@example.com, вы можете использовать

<li *ngFor="let cmp of comp | async">{{cmp.users[123456789].email}}</li>

users - это объект, а не массив, поэтому вы не можете использовать <li *ngFor="let user of comp.users | async">{{user.email}}</li>.Если вы хотите использовать его, ваша база данных должна вернуть что-то вроде этого:

company: example
address: nowhere
users:[ //instead of {
  123:{
   email: qwerty@example.com
  },
  456:{
   email: qwerty@example.com
  },
] //instead of }
...