2017-09-30 80 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