我是Backbone的新手,并尝试使用骨干制作表格数据,它有添加,编辑,删除(CRUD)。
在这个过程中我完成了添加部分,一切正常。但我无法使用创建新列表按钮添加多个人。有人帮我解决问题以及如何解决这个问题吗?
以下是摘录:
模板:
<tbody>
<% _.each(users, function(user){ %>
<tr>
<td><%= user.get("firstName") %></td>
<td><%= user.get("lastName")%></td>
<td><%= user.get("age") %></td>
<td><a href="#/edit/<%= user.get("id") %>" class="btn">Edit</a></td>
</tr>
<%})%>
</tbody>
//功能
render:function(){
var template = _.template($("#listTempalate").html(), {users:this.collection.models});
this.$el.html(template)
},
以下是jsfiddle
提前致谢。
答案 0 :(得分:2)
将数据推送到数组时,您不会添加id
属性。
“已创建”数据共享相同(不存在)id
,而主干集合仅允许同一模型的单个实例(基于id
)。因此,只有第一个创建的模型被添加到集合中。
您在真正的Backbone应用程序中要做的是创建一个包含输入数据的新userModel和用于集合的.add()
,或者只使用原始数据调用集合上的.add()
。 / p>
对于您的演示,您可以在将数据推送到数组之前生成id属性。