1

我可以以某种方式让我的空视图知道我的集合,以便我可以从空视图添加到我的集合中吗?

如果我做类似的事情,这不是最佳做法:

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);
              }
          });
      }
});
4

2 回答 2

1

emptyView实际上是一个完全合格的孩子collectionView

在主干中,一个空集合实际上有一个奇怪的空白模型,而您的空视图实际上得到了这个空模型。另外,空视图会获取itemviewOptions方法传入的选项。您可能需要serializeData在空视图中实现以检索作为不属于模型一部分的选项传入的数据。

于 2014-01-17T17:15:09.867 回答
1

你所拥有的一切都很好。创建 ItemViewOptions 以便您可以将数据从父视图传递到其子视图。

于 2013-10-05T16:08:53.323 回答