Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 添加到木偶中emptyView的集合_Javascript_Backbone.js_Marionette - Fatal编程技术网

Javascript 添加到木偶中emptyView的集合

Javascript 添加到木偶中emptyView的集合,javascript,backbone.js,marionette,Javascript,Backbone.js,Marionette,我是否可以让我的空视图知道我的集合,这样我就可以从空视图添加到我的集合中 如果我这样做不是最佳做法: EmailsView = Backbone.Marionette.CollectionView.extend({ emptyView: EmptyMealView, itemView : EmailView, itemViewOptions : function(){ return {collection : this.co

我是否可以让我的空视图知道我的集合,这样我就可以从空视图添加到我的集合中

如果我这样做不是最佳做法:

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

你所拥有的一切都很好。创建ItemViewOptions是为了将数据从父视图传递到其子视图。

空视图实际上是
集合视图的完全限定子视图


在主干中,一个空集合实际上有一个奇怪的空白模型,而您的空视图实际上得到了这个空模型。此外,空视图将获得
itemviewOptions
方法传入的选项。您可能需要在空视图中实现
序列化数据
,以便检索作为选项传入的数据,而这些选项不是模型的一部分。

@Vic的回答让我了解了空视图的这一事实,但我想我只需在这里添加这个答案来澄清。