使用Backbone Marionette和Relational的复合视图

时间:2012-07-05 19:58:29

标签: backbone.js backbone-relational marionette

我一直在使用Marionette几周,刚刚发现了Backbone Relational,所以我想弄清楚如何整合这两者。理想情况下,我想使用复合视图来呈现这样的结构数据,其中每个“项目”都有自己的项目视图:

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

通常使用复合视图,您需要拥有一组模型,它们将迭代以呈现每个项目。通过关系,我只有一个模型(列表),并且该模型中有一个集合(项目)。是否可以使用Marionette的视图来渲染它,或者我是否需要使用简单的Backbone视图并自己处理渲染和迭代?

1 个答案:

答案 0 :(得分:19)

这很常见,而且很容易做到。在CompositeView定义中,您可以指定要在initialize方法中使用的集合。


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

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