我已经使用木偶几个星期了,刚刚发现了骨干关系,所以我试图弄清楚如何整合两者。理想情况下,我想使用复合视图来呈现结构如下的数据,其中每个"项目"都有自己的项目视图:
list : {
name : 'List 1',
items : [
item1 : {
name : 'Item 1',
id : 1
},
item2 : { ... }
item3 : { ... }
]
}
通常,对于复合视图,您需要有一个模型集合,它将循环访问这些模型以呈现每个项目。对于关系,我只有一个模型(列表),并且该模型中有一个集合(项目)。是否可以使用木偶的视图将其渲染出来,还是我需要使用普通的 Backbone 视图并自己处理渲染和迭代?
这很常见,而且很容易做到。在 CompositeView 定义中,可以指定要在初始化方法中使用的集合。
Backbone.Marionette.CompositeView.extend({
// ...
initialize: function(){
this.collection = this.model.get("childcollection");
}
});