【问题标题】:Save Backbone model collection to localstorage and retrieving it将 Backbone 模型集合保存到本地存储并检索它
【发布时间】:2014-03-21 13:47:26
【问题描述】:

我正在尝试将 Backbone 集合持久保存到本地存储中。

我正在使用 Backbone.localstorage 将集合保存为 JSON:

products.forEach(function (product) {
                localStorage.setItem(product.get("id"), JSON.stringify(product));

            });

并且它们已正确保存,并带有相应的 ID。

是否可以为检索做这样的事情:

  products.localStorage = localStorage;
  products.fetch();

我可以在调试器中看到 products 集合现在有一个 localstorage 属性设置为我的 localstorage 并且我可以看到字符串化的 JSON 对象,但仅作为属性,而不是集合中的实际对象。如果有可能 Backbone.localstorage 是否将 JSON 解析为骨干模型?

我该怎么做?谢谢。

【问题讨论】:

    标签: javascript json backbone.js


    【解决方案1】:

    看看Backbone.localStorage。这可能正是您尝试从头开始开发的内容。

    如果您只是想要一种简单的方式来存储您的收藏,我建议您手动进行:

    // Save
    var jsonCollection = products.toJSON();
    localStorage.setItem('key', jsonCollection);
    
    // Load
    products.reset(localStorage.getItem('key'));
    

    【讨论】:

    • 嗨弗雷德里克。是的,我做到了。我找到了 getItem 方法。但是它需要我想要获取的项目的 id。从我的方法中,我只想检索所有项目,例如我不知道密钥。
    • @user1927971 编辑了我的答案。看看这是否有帮助。
    猜你喜欢
    • 2014-11-30
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    • 2011-10-08
    • 1970-01-01
    • 2012-05-05
    • 2016-03-31
    • 2023-03-29
    相关资源
    最近更新 更多