В firebase получение данных с помощью snapshotChanges () включает метаданные с фактическими данными в виде {key, payload, prevKey, type}.
В случае пользователя вы пытаетесь получить доступ к item.name , но он не определен.
Вы должны извлечь полезную нагрузку перед итерацией. Вы можете попробовать что-то вроде этого.
items$: any;
constructor(db: AngularFireDatabase) {
this.items$ = db.list(`/users/`).snapshotChanges()
.pipe(map(changes => changes.map(c => ({
key: c.key,
payload: c.payload.val(),
type: c.type,
prevKey: c.prevKey
}))));
}
<div *ngFor="let item of items$ | async;">
Items: {{item.key}}
name: {{item.payload.name}}
</div>
Если вам не нужна клавиша , используйте valueChanges () вместо snapshotChanges ().
Подробнее https://github.com/angular/angularfire2/blob/master/docs/rtdb/lists.md