从集合中删除的项目一直存在于本地存储中



我有一个用户模型,如下所示

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指定为"/".

最新更新