收集中已删除的项目仍保留在本地存储中

时间:2014-01-28 09:49:52

标签: backbone.js

我在骨干网中有一个用户模型如下

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集合中删除,因为我可以将其渲染得很好并且模型不存在。 (cid)是删除按钮的属性。

无论如何,当我刷新页面时,已删除的项目会重新出现。编辑工作正常。重新标记后,该项目不再存在。另外,如果我尝试Collection.sync(),我会收到错误

Cannot read property 'localStorage' of undefined

model.destroy()也会出错:必须指定“url”属性或函数 如何从本地存储中删除该项目

1 个答案:

答案 0 :(得分:0)

您应该始终定义集合的url或模型的url。 即使您只使用本地存储。 只需尝试将集合的URL指定为“/".