1

解决了

我正在使用 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,但不适用于第二个。我不知道问题是我实例化新视图的方式还是我应该进行某种绑定。

我基本上想实现这个人想要的:使用 Marionette CollectionView to create multiple views per item

有任何想法吗?

4

0 回答 0