我正在尝试使用Backbone,似乎遇到了问题。我的事件正在解雇,但集合没有更新。我在下面列出了事件回调,但整个示例可以在这里看到:http://jsfiddle.net/xp27dm7L/7/
addItem: function() {
alert(1)
var id = this.collection.length;
this.collection.add({
"id": "p"+id,
"name" : "ghgjhj",
"title" : "EsssyyyyEEE",
"background" : "ssssFyFFF"
});
},
我做错了什么?
答案 0 :(得分:4)
问题是您要添加具有重复ID的项目。
如果您执行以下操作,则可以:
this.collection.add({
"id": "p"+Math.random(), // Just an example, of course!
"name" : "ghgjhj",
"title" : "EsssyyyyEEE",
"background" : "ssssFyFFF"
});
理想情况下,您可能根本不会声明id
并让Backbone处理:
this.collection.add({
"name" : "ghgjhj",
"title" : "EsssyyyyEEE",
"background" : "ssssFyFFF"
});
您还可以使用收藏集的length
来设置新ID:
var id = this.collection.length + 1;
this.collection.add({
"id": "p" + id,
"name" : "ghgjhj",
"title" : "EsssyyyyEEE",
"background" : "ssssFyFFF"
});
答案 1 :(得分:3)