显示具有相同模型的多个itemView

时间:2013-08-09 11:18:42

标签: javascript marionette

解决

我正在使用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

有什么想法吗?

0 个答案:

没有答案