解决
我正在使用Backbone.Marionette构建日历/任务管理应用程序。这个应用程序有几个视图,包括待办事项列表和每日,每周和每月视图。
某些任务具有周期性(例如,任务可能在每个星期五到期),并且必须在不同单元格中的同一视图(使用相同的itemView)中多次显示。
Daily.Content = Marionette.CompositeView.extend({
itemView: Daily.Event,
template: "#content-daily",
appendHtml: function(collectionView, itemView, index){
//Obtains an id to append the items
var id = "#x";
var otherId = "#y";
// Appends the itemView
collectionView.$(id).append(itemView.el);
// A different itemView with the same model
var item = new Daily.Event({model:itemView.model}).render();
collectionView.$(otherId).append(item.el);
}
},
现在相同的模型显示两次。单击itemView(Daily.Event)可以删除它。
deleteEvent: function(e){
e.preventDefault();
this.trigger("event:delete", this.model);
},
有一个Daily.controller处理,它适用于原始itemView,但不适用于第二个。我不知道问题是我的实例化新视图的方式,还是我应该做某种绑定。
我基本上想要实现这个人想要的东西:Using Marionette CollectionView to create multiple views per item
有什么想法吗?