使用Backbone Marionette和Relational的复合视图

Wil*_*ock 7 backbone.js backbone-relational marionette

我已经使用Marionette几个星期了,刚刚发现了Backbone Relational,所以我想弄清楚如何整合这两者.理想情况下,我想使用复合视图来呈现这样构造的数据,其中每个'i​​tem'都有自己的项视图:

list : {
  name : 'List 1',
  items : [
    item1 : {
      name : 'Item 1',
      id : 1
    },
    item2 : { ... }
    item3 : { ... }
  ]
}
Run Code Online (Sandbox Code Playgroud)

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

Der*_*ley 19

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


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

  initialize: function(){
    this.collection = this.model.get("childcollection");
  }
});
Run Code Online (Sandbox Code Playgroud)

  • 而且你不会得到比那更权威的答案:) (8认同)