我有一个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);
}
最佳答案
为什么您的itemview不充当第二个视图的父亲,您可以在item视图的初始化函数中创建第二个视图。
编辑
这次我仍将创建一个perent视图,将其设为您2个视图的父级,您的集合将创建父级,而父级将在其中创建两个视图。
这种方式对我来说更自然。
关于javascript - 使用Marionette CollectionView为每个项目创建多个 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15891247/