0

我是 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

提前致谢。

4

1 回答 1

2

当您将数据推送到数组时,您不会添加id属性。

“创建”的数据都共享相同的(不存在的)id,并且主干集合只允许同一模型的单个实例(基于id)。因此,只有第一个创建的模型被添加到集合中。

在真正的 Backbone 应用程序中,您可以使用输入的数据和集合创建一个新的 userModel ,或者只使用原始数据.add()调用集合。.add()

对于您的演示,您可以在将数据推送到数组之前生成一个 id 属性。

于 2013-04-26T18:08:00.937 回答