我有一个用户模型,如下所示
var User = Backbone.Model.extend({
initialize: function(){
},
defaults: {
firstname: '<FirstName>',
lastname: '<LastName>',
email: '<EmailAddress>'
}
});
和收集:
UserCollection=Backbone.Collection.extend({
model : User,
localStorage:new Backbone.LocalStorage("UsersCollection")
});
删除模型时,我使用以下代码
var model=this.collection.get(cid);
this.collection.remove(model);
cid来自视图,我在这里没有显示。该模型从Teh Collection中删除,因为我可以将其呈现好,并且该模型不存在。(CID)是删除按钮上的属性。
无论如何,当我刷新页面时,已删除的项目重新出现。编辑工作正常。重新分配后,该项目不再存在了。另外,如果我尝试做Collection.sync()
,我会发现一个错误
Cannot read property 'localStorage' of undefined
model.destroy()
也给出了一个错误:必须指定" URL"属性或功能如何从本地存储中删除该项目
您应始终定义收集的URL或模型的URL。即使您仅使用本地存储。只需尝试将Collection的URL指定为"/".