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