Dav*_*ier 2 collectionview backbone.js marionette
有没有办法在Marionette CollectionView中创建一个独特的视图?我的意思是这样的:
的CollectionView
通过唯一,我的意思是"Start ItemView"必须使用唯一的模板,而不是与常规ItemViews相关联的方法.
我试过的事情:
只是将开始视图添加到CollectionView的el之前是不可取的,因为我的CollectionView的方法作用于其子视图.
在Marionette文档中,建议在这种情况下覆盖buildItemView(我认为?).我不知道如何覆盖它.只是调用buildItemView不起作用,因为StartView没有关联的模型或任何选项.好像我不能把这些args留下来,或者只是返回undefined.
我不能在我的CollectionView模板中包含StartView的标记,因为... Marionette CollectionViews不能有模板.
从Marionette文档来看,它似乎不适合CompositeView的用例.但也许我错了.
我可能错过了一些相当明显的东西.在此先感谢您的帮助.
编辑:格式化
创建2个不同的视图,'StartView'和'NormalView':
StartView = Marionette.ItemView.extend({
template:"#start-template'
});
NormalView = Marionette.ItemView.extend({
template:"#normal-template"
});
Run Code Online (Sandbox Code Playgroud)
在你的集合视图中,覆盖getItemView并返回'StartView'和'NormalView'......如下所示:
MyCollectionView = Marionette.CollectionView.extend({
getItemView:function(item){
if(item.get("ImTheFirst")===true)
return StartView;
else
return NormalView;
}
});
Run Code Online (Sandbox Code Playgroud)
在集合中的第一个项目上,添加属性"ImTheFirst"(例如)并将其设置为true.
| 归档时间: |
|
| 查看次数: |
1446 次 |
| 最近记录: |