【发布时间】:2018-06-17 07:47:00
【问题描述】:
我正在尝试显示从 Firebase 到 Ionic 项目的嵌套数据。 我在 firebase 中有以下数据结构:
我的查询:
let dbRefLists = firebase.database().ref('lists/');
var self = this;
dbRefLists.on('value', (querySnapshot) => {
this.lists = Object.keys(querySnapshot.val()).map(key => querySnapshot.val()[key]);
querySnapshot.forEach((data) => {
var listItem = data.val().id;
dbRefLists.child(`${listItem}/listItems`).on('value', (snapshotVal) => {
if (snapshotVal.val() !== null) {
self.lists.listItems = Object.keys(snapshotVal.val()).map(key => snapshotVal.val()[key]);
}
})
return self.lists.listItems;
})
return lists;
});
我的 HTML:
<ul>
<li *ngFor="let list of lists; let i=index" text-wrap (click)="toggleGroup(i)" [ngClass]="{active: isGroupShown(i)}">
<h2>
<span>{{list.title}}</span>
</h2>
<ul *ngIf="isGroupShown(i)">
<li *ngFor="let listItem of lists.listItems">
<span>{{listItem.title}}</span>
</li>
</ul>
</li>
</ul>
结果是我收到了所有列表(List1 和 List2)中的列表项,而不是仅在 List1 中:
我的错误在哪里?谢谢
【问题讨论】:
标签: angular firebase ionic-framework firebase-realtime-database