2014-02-20 6 views
1

Я пытаюсь сохранить коллекцию Backbone в localstorage.Сохраните коллекцию моделей Backbone в localstorage и извлеките ее

Я использую Backbone.localstorage, чтобы сохранить коллекцию в формате JSON:

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

      }); 

И они сохранены, с соответствующими идентификаторами.

это можно сделать что-то подобное для поиска:

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

я могу увидеть в отладчике, что сбор продуктов теперь имеет свойство LocalStorage установить на мой LocalStorage и я могу видеть строковой объекты JSON, но только как свойство, а не фактические объекты в коллекции. Если возможно, Backbone.localstorage делает синтаксический анализ JSON в базовых моделях или нет?

Как я могу это сделать? Спасибо.

ответ

2

Посмотрите на Backbone.localStorage. Это, вероятно, делает именно то, что вы пытаетесь разработать с нуля.

Если вы просто хотите простой способ для хранения вашей коллекции, я предлагаю делать это вручную:

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

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

Привет Фредерик. Да. Я нашел метод getItem. Однако он принимает идентификатор элемента, который я хочу получить. И из моего метода я просто хочу получить все предметы, например, я не знаю ключей. – Mefhisto1

+0

@ user1927971 Отредактировал мой ответ. Посмотрите, поможет ли это. –

Смежные вопросы