2013-10-05 25 views
1

我可以以某種方式讓我的空視圖瞭解我的收藏,以便我可以添加到我的收藏從空視圖嗎?添加到emptyView中的Marionette

這難道不是最好的做法,如果我這樣做:

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

回答

1

你有什麼是完美的罰款。 ItemViewOptions被創建,以便您可以將數據從父視圖傳遞到其子視圖。

1

emptyView實際上是collectionView的完全合格的子項。

在主幹中,一個空集合實際上有一個奇怪的空白模型,而你的空視圖實際上得到了這個空模型。另外,空視圖將得到由itemviewOptions方法傳入的選項。您可能需要在空視圖中執行serializeData以檢索您作爲不屬於模型一部分的選項傳入的數據。

+0

@維克的回答讓我明白了這個空洞的觀點,但我想我只是在這裏添加這個答案來澄清。 – Ziggy

相關問題