2015-06-22 36 views
3

我想在後數據中顯示對象內容(註釋)(使用firebase-collection): 以下是firebase中的帖子結構:聚合物1.0:嵌套的dom-repeat模板無法顯示子對象的內容

"Publication" : { 
     "date":"22-06-2015", 
"content" : "post example", 
"comments": { 
    //a post has too many comments on it 
    } 
} 

我的目標是添加另一個DOM重複顯示評論,但我什麼都看不到。 下面是代碼示例(第一模板正常工作正如我所提到)

<template is="dom-repeat" items="{{posts}}" as="post"> 
     <!-- Content here is appearing correctly --> 
      <template is="dom-repeat" items="{{post.comments}}" as="commentaire"> 
       <span>{{commentaire.date}}</span> 
      </template> 
</tempalte> 

我跟着聚合物遷移文檔但沒有結果,如果有任何解決方案,我將感謝。

回答

5

我認爲你的評論屬性需要是一個數組才能正確綁定。

+0

嗯,這是真正的問題,我無法管理這個'post.comments'甚至將其轉換爲數組,所以我只能使用JavaScript來解決這個問題。 這是一個與從firebase-element(聚合物的0.5版本)到1.0的新遷移有關的問題。 –

+4

你可以這樣編寫一個過濾器:arrayify:function(obj){return Object.keys(obj).map(function(k){return obj [k];})}'然後綁定到items =「{ {arrayify(post.comments)}}「'。 –

+0

@ScottMiles爲什麼不'Object.values(obj)'? – milan

0

您可以嘗試不使用'as'標籤。

<template is="dom-repeat" items="{{posts}}"> 
     <template is="dom-repeat" items="{{item.comments}}"> 
      <span>{{item.date}}</span> 
     </template> 
</tempalte> 

我的理解是'項目'是聚合物的內部術語,它代表一個數組/對象。我可能不完全正確,但這個竅門對我有用。