将Backbone模型集合保存到localstorage并检索它

时间:2014-02-20 14:32:47

标签: javascript json backbone.js

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

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

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

            });

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

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

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

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

我怎么能这样做?谢谢。

1 个答案:

答案 0 :(得分:2)

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

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

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

// Load
products.reset(localStorage.getItem('key'));