我可以以某种方式让我的空视图知道我的收藏,以便我可以从空视图中添加到我的收藏中吗?
如果我做的事情不是最佳做法:
EmailsView = Backbone.Marionette.CollectionView.extend({
emptyView: EmptyMealView,
itemView : EmailView,
itemViewOptions : function(){
return {collection : this.collection}
},
});
所以我可以在空视图中做这样的事情:
EmptyMealView = Backbone.Marionette.ItemView.extend({
events:{
'click .sendEmail' : 'sendEmail',
},
sendFakeEmail: function(e){
var myEmail = new Email({
Date : new Date(),
Type : 3
});
var that = this;
myEmail.save(null,{
success:function(model){
that.collection.add(model);
}
});
}
});
答案 0 :(得分:1)
你拥有的一切都很好。创建ItemViewOptions,以便您可以将数据从父视图传递到其子视图。
答案 1 :(得分:1)
emptyView
实际上是collectionView
的完全限定子级。
在骨干网中,一个空集合实际上有一个奇怪的空白模型,你的空视图实际上得到了这个空模型。此外,空视图将获得itemviewOptions
方法传入的选项。您可能需要在空视图中实现serializeData
,以便检索作为不属于模型的选项传入的数据。