сохранение / загрузка настроек в SenchaTouch / PhoneGap -App с localStorage и отображение их в форме - PullRequest
1 голос
/ 04 апреля 2011

Как сохранить / загрузить настройки в приложении, если вы хотите использовать localStorage?Допустим, мы просто хотим сохранить имя пользователя и пароль.

В настоящее время я знаю два варианта:

  • с использованием модели с хранилищем и прокси.
    Кажется, этослишком большой, так как вы хотите хранить только один объект.Но у вас есть преимущество в том, что вы легко можете использовать this.load () в настройках FormPanel.
  • , используя Phonegap или «обычный» localStorage.
    Тогда вам нужно использовать JSON.stringify и JSON.parse, новы храните только один объект, и его легче загрузить (после обновления страницы у меня возникают проблемы с использованием хранилища и прокси).Но вы не можете использовать this.load, так как вам нужно загрузить модель.Может быть, вам нужно «привести» параметрыObject из localStorage к модели и загрузить этот файл??

Какой подход лучше или есть даже другой, лучший подход для сохранения / загрузки настроек и их отображенияв форме?

1 Ответ

3 голосов
/ 28 июня 2011

Я определенно согласен с вами, что использование модели и магазина Sencha Touch излишне для сохранения некоторых настроек.Я рекомендую сериализовать ваш объект настроек с помощью Ext.util.JSON.encode / decode.

Примечание. Вы не сможете сериализовать элементы-функции объекта, тем более что свойства, принадлежащие объектам в его цепочке прототипов, не позволят вам сериализовать и десериализовать модель Ext.и пусть это сработает, когда вы вернете его обратно.Лучшее, что вы можете сделать - это сериализовать конфигурацию для вашего компонента Ext и восстановить ее через конструктор после получения конфигурации обратно.

Для большинства простых объектов настроек просто сериализуйте ее и сохраните в ключе в локальном хранилище.,Когда вы попадете на свою страницу, достаньте объект настроек и обновите форму.Когда вы изменяете настройку в форме, запишите ее в объект.Когда вы покидаете страницу (onbeforeunload), запишите объект в localstore.

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