从木偶中的空视图添加到收藏

Add to Collection from emptyView in Marionette

本文关键字:视图 添加 收藏      更新时间:2023-09-26

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

如果我做这样的事情,这不是最佳实践吗:

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

你所拥有的是完全好的。创建项视图选项,以便可以将数据从父视图传递到其子视图。

emptyView实际上是collectionView的完全合格的子项。

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