2017-09-30 22 views
0

我想使用angularFire2呈现嵌套ngFor与来自firebase的数据。如何使嵌套ngFor与firebaselist

所以我的数据结构是这样的: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的映射运算符来将列表转换为我所需要的。

事情是这样的:

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

但地图功能没有被调用......

的我怎么能做到这一点任何想法?

谢谢!

+0

当你喜欢上面的时候发生了什么? – Sampath

+0

我收到以下错误:运行时错误 无法找到类型为'object'的不同支持对象'[object Object]'。 NgFor仅支持与阵列等Iterables绑定。 – user1005016

回答

0

发生此错误是因为您正在尝试遍历角模板中不支持的对象(主体)。 * ngFor只能应用于数组。

有这个问题的几个可能的解决方案:

  • 改变你的数据结构,所以你遍历数组的元素。
  • 编写一个自定义管道,遍历一个对象。示例here