2013-06-05 76 views
2

(讓我以前言我是Backbone和Backgrid的新手)我使用Backgrid和select-all擴展,並且遇到了「捕獲」所有選擇都在我的包含/父視圖。我想在主網格中選擇一行時顯示詳細信息視圖。所以,我需要網格中的select事件向上滾動到父視圖,以便它可以在另一個視圖中顯示細節。Backgrid捕獲選擇所有事件

var view = Backbone.View.extend({ 
    el: '.grid', 
    initialize: function() { 

     var columns = [{ 
      name: "id", 
      label: "ID", 
      editable: false, 
      cell: "string" 
     }, { 
      name: "", 
      label: "Action", 
      cell: "select-row" 
     }]; 

     var grid = new Backgrid.Grid({ 
      columns: columns, 
      collection: this.collection 
     }); 

     $("#backgrid").append(grid.render().$el); 
    }); 
}); 

現在我想我想這樣的事情添加到視圖

events: { 
"backgrid:select": "<name of the function i want to call>" 
} 

但是,這似乎並沒有工作。任何幫助,將不勝感激。

+0

這是什麼選擇'「backgrid:選擇」' –

+0

我不明白這是應該trgger事件的元素。 「網格」對象? –

+0

@Sushanth - 「backgrid:select」是通過某些代碼分割在全選擴展中觸發的事件的名稱(儘管它看起來沒有起泡到包含視圖)。我用它作爲事件名稱的例子。 – Dan

回答

5

我能回答我的問題......在視圖中添加....

this.collection.on('backgrid:selected', function(model, selected) { 
    //do what i need here 
}); 

backgrid已觸發事件backgrid:選擇(這是通過模型處理),但它也觸發事件摘要:選擇哪個在集合中起泡......這又可以通過父視圖訪問。

的引用來指出這一點官方的API文檔可以發現here