2012-07-05 72 views
7

我一直在使用Marionette幾個星期,剛發現Backbone Relational,所以我試圖弄清楚如何整合這兩者。理想情況下,我想用一個複合視圖來呈現的結構是這樣的數據,其中每個「項目」有自己的項目視圖:使用複合視圖與主幹木偶和關係

list : { 
    name : 'List 1', 
    items : [ 
    item1 : { 
     name : 'Item 1', 
     id : 1 
    }, 
    item2 : { ... } 
    item3 : { ... } 
    ] 
} 

通常與複合的觀點,你需要有一個模型的集合,它將迭代通過渲染每個項目。關係型,我剛剛有一個模型(列表),該模型中有一個集合(項目)。是否有可能使用Marionette的視圖進行渲染,或者是否需要使用簡單的Backbone視圖並自己處理渲染和迭代?

回答

19

這是相當普遍的,而且容易做到。在您的CompositeView定義中,您可以指定要在initialize方法中使用的集合。


Backbone.Marionette.CompositeView.extend({ 
    // ... 

    initialize: function(){ 
    this.collection = this.model.get("childcollection"); 
    } 
}); 
+8

而且你不會得到比這更多的權威答案:) – 2012-07-06 01:21:37

+0

感謝您的意見!完美的作品。 – 2012-07-06 15:54:35