Backbone.js+;handlebar.js-{{{#each}}而不是模型视图?
我有一个名为Backbone.js+;handlebar.js-{{{#each}}而不是模型视图?,backbone.js,handlebars.js,Backbone.js,Handlebars.js,我有一个名为Projects的集合,其中包含几个Project类型的模型。当我想列出所有项目时,我使用ListProjectsView。它的render函数为集合中的每个项目生成一个ProjectView,从而可以通过将事件绑定到其名称来删除单个项目 但是,现在我想使用把手来创建模板。使用把手,可以更轻松地显示所有集合模型,使用每个辅助对象,如下所示: <ul> {{#each projects}} <li>{{this.name}}</li> {
Projects
的集合,其中包含几个Project
类型的模型。当我想列出所有项目时,我使用ListProjectsView
。它的render
函数为集合中的每个项目生成一个ProjectView
,从而可以通过将事件绑定到其名称来删除单个项目
但是,现在我想使用把手来创建模板。使用把手,可以更轻松地显示所有集合模型,使用每个
辅助对象,如下所示:
<ul>
{{#each projects}}
<li>{{this.name}}</li>
{{/each}}
</ul>
{{{#每个项目}
- {{this.name}}
{{/每个}}
这很好,但现在我想知道如何删除一个项目,因为我不再使用ProjectView
。我是否需要向每个
添加id
,以便绑定事件?或者我必须使用ProjectView
来执行此操作吗
提前感谢。这里的逻辑必须通过ListProjectsView运行。一种方法是按照您所说的做,将
数据id
附加到每个li
,然后在事件处理程序中获取目标
deleteProjectHandler : function(evt){
var $target = $(evt.target), id = $target.data('id');
this.deleteProject(id);
}
或者类似的东西。在DOM中拥有对象的数据库id是一种好的做法吗?我不明白为什么不。它也可以是用户或任何查看DOM的人的任意ID