2013-02-28 64 views
0

我有兩個視圖,ListViewItemViewItemView填充這樣上renderListView

this.items.each(function(model, index) { 
    new ItemView({ 
     item: model, 
    }); 
}); 

所有ItemView共享相同的容器el;是<tbody>,其模板是<tr>

觸發事件時,它們指向包含元素,從而導致例如save觸發全部保存ItemView,而不僅僅是被點擊的那個。有沒有辦法規避這種行爲,還是有更好的做法?

回答

0

你可以試試這個,

ListView = Backbone.View.extend({ 
     events : { 
      'click tr' : function(e){ 
         this.items.each(function(model){ 
         model.trigger('save'); 
        }); 
      } 
     } 
}) 

然後綁定保存在項目視圖事件。

this.model.on('save', function(){ 
    //your code here 
});