我有一个Marionette.CollectionView,对于某些项目(模型)需要创建2个视图才能在模型上运行,Marionette.CollectionView.buildItemView可以返回2个视图吗?
修改:
我不想创建另一个WrapperItemView,我现在已经有一些解决方案,但我想让它更加标准化。
我希望我的代码看起来像这样,有一种简单的方法可以使它工作吗?
buildItemView: function(item){
// create 2 views based on item type
return [view1, view2];
},
appendHtml: function(collectionView, itemView, index){
if (itemView.type === "X" )
collectionView.$el.find(".A").append(itemView.el);
if (itemView.type === "Y" )
collectionView.$el.find(".B").append(itemView.el);
}
答案 0 :(得分:0)
为什么你的itemview不作为第二个视图的父亲,你可以在项目视图的初始化函数中创建第二个视图。
修改强>
这次我仍然会创建一个perent视图,我将它作为你的2个视图的父视图,你的集合将创建父视图,父视图将在其中创建两个视图。
这种方式对我来说更自然。