HTML5 localStorage вопросы дизайна - PullRequest
2 голосов
/ 30 сентября 2010

Каков наилучший способ хранения данных объекта в HTML5 localStorage. Я мало работал с хранилищем значений ключей.

В своем исследовании я видел несколько разных подходов.

пример данных:

var commands = [
  {invokes: 'Window', type: 'file', data: '/data/1'},
  {invokes: 'Action', type: 'icon', data: '/data/2'},
  {invokes: 'Window', type: 'file', data: '/data/3'}
];

Подход 1: хранить ключи, которые представляют каждый элемент данных

// for(...) {
localStorage["command[" + i + "].invokes"] = command[i].invokes
localStorage["command[" + i + "].type"] = command[i].type
localStorage["command[" + i + "].data"] = command[i].data
//}

Подход 2: ключи - это имя объекта, хранилище json

localStorage["commands"] = JSON.stringify(commands);

Второй подход потребует JSON.parse ().

плюсы / минусы?

Ответы [ 3 ]

2 голосов
/ 02 ноября 2010

Для записи, которую я использовал с подходом 2. Мой ключ похож на имя таблицы, значение представляет собой строковый массив записей json. При получении таблицы вы должны вызвать JSON.parse ().

0 голосов
/ 15 октября 2011

Конечно, ваш подход работает очень хорошо, однако он немного застревает с соглашением, которое вы выбрали для продвижения вперед.Я бы порекомендовал вам рассмотреть обертывание вашего доступа localStorage в классе, чтобы ваше соглашение было изолировано от класса как истинное соглашение.

В противном случае, если вы решите измениться, как только вы приблизитесь к нему, у вас будет разбросан код реализации.по всей вашей кодовой базе.

0 голосов
/ 24 июня 2011

технологий для локальных хранилищ: http://madhukaudantha.blogspot.com/2011/02/client-side-storages-with-html-5.html...

Подход 2, ОК. Есть еще способы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...