如何使用firebaselist创建嵌套的ngFor

时间:2017-09-30 08:10:59

标签: angular typescript firebase ionic3 angularfire2

我想使用angularFire2为来自firebase的数据渲染嵌套的ngFor。

所以我的数据结构如下:enter image description here

我希望使用第一级"科目"在第一个ngFor中列出,在嵌套的ngFor中列出子级别

<ion-list>
    <ion-item *ngFor="let mainSubject of subjects | async">
        {{mainSubject.name}}
        <ion-list>
            <ion-item *ngFor="let childSubject of mainSubject.subjects | async">
                {{childSubject.name}}
            </ion-item>
        </ion-list>
    </ion-item>
</ion-list>

我想我必须使用rxjs中的map运算符将列表转换为我需要的。

这样的事情:

this.db.list(`${this.mainSubjectsPath}`).map((value) => {
    console.log(value);
    // make some transformation...
});

但是从不调用map函数......

我知道如何做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:0)

发生此错误是因为您尝试迭代对象(主题),而角度模板不支持。 * ngFor只能应用于数组。

此问题有几种可能的解决方案:

  • 更改您的数据结构,以便迭代数组的元素。
  • 编写自定义管道,遍历对象。示例here