我有一个名为Projects
的集合,其中包含多个Project
类型的模型。当我想列出所有项目时,我使用ListProjectsView
。其render
函数为集合中的每个项目生成ProjectView
,从而可以通过将事件绑定到其名称来删除单个项目。
但是,现在我想使用Handlebars来创建模板。使用把手,使用each
助手更容易显示所有集合模型,如下所示:
<ul>
{{#each projects}}
<li>{{this.name}}</li>
{{/each}}
</ul>
这很好但现在我想知道如何删除一个项目,因为我不再使用ProjectView
了。我是否需要为每个id
添加<li>
,以便绑定事件?或者我是否必须使用ProjectView
来执行此操作?
提前致谢。
答案 0 :(得分:1)
这里的逻辑必须通过ListProjectsView运行。一种方法是按照您的说法执行操作并将data-id
附加到每个li
,然后在您的事件处理程序中获取目标
deleteProjectHandler : function(evt){
var $target = $(evt.target), id = $target.data('id');
this.deleteProject(id);
}
或类似的东西。