2013-06-03 97 views
0

我有一個名爲Projects的系列,其中包含Project類型的幾種型號。當我想列出所有項目時,我使用ListProjectsView。其render函數爲集合中的每個項目生成一個ProjectView,從而可以通過將事件綁定到其名稱來刪除一個單個項目。Backbone.js + Handlebars.js - {{#each}}而不是模型視圖?

但是,現在我想使用Handlebars來創建模板。隨着車把更容易顯示所有收集的機型,與each幫手,就像這樣:

<ul> 
    {{#each projects}} 
    <li>{{this.name}}</li> 
    {{/each}} 
</ul> 

也能正常工作,但現在我想知道我怎麼能刪除一個項目,因爲我沒有使用ProjectView了。我是否需要爲每個<li>添加一個id,以便我可以綁定一個事件?或者我必須使用ProjectView來做到這一點?

在此先感謝。

回答

1

這裏的邏輯將不得不通過ListProjectsView來運行。一種方法是照你說的並附加data-id每個li,然後在事件處理得到目標

deleteProjectHandler : function(evt){ 
    var $target = $(evt.target), id = $target.data('id'); 

    this.deleteProject(id); 
} 

或類似的東西。

+0

在DOM中有一個對象的數據庫ID是否是一個好習慣? – anpa

+0

我不明白爲什麼不。它可能是一個隨意的ID給用戶或通過DOM瀏覽的任何人 – Evan

相關問題