2013-07-29 2 views
1

Все, что доступно в AngularJS для запоминания переменной после обновления страницы, у меня есть несколько вещей, которые мне нужно запомнить, например, позиции табуляции.AngularJS: Вспоминая переменную после обновления страницы, каковы мои варианты?

Я думал о печенье здесь, но я заметил, что jquery-ui использовал то же самое, но они не одобряли его, возможно, не путь?

Также будет присутствовать куки-файл, пока он не будет удален или не истек не только для текущей сессии?

Тогда я подумал о локальном хранилище Html 5, но это заставило меня задуматься о том, что, если браузер не поддерживает локальное хранилище html 5? Есть ли что-нибудь доступное, чтобы сказать «использовать html 5 местное хранилище, если оно доступно» в противном случае «использовать файлы cookie»?

Благодаря

+1

Почему бы не использовать хеширование? Служба определения местоположения $ отлично справляется с этим (http://docs.angularjs.org/guide/dev_guide.services.$location) –

ответ

3

Там есть сервис, который делает то, что вы ищете: локальное хранение с печеньем в качестве резервного

https://github.com/grevory/angular-local-storage

+0

Спасибо, это то, что я в конечном итоге реализовал – Martin

0

в зависимости от того, что вы хотите у вас есть несколько вариантов:

Если это состояние пользовательского интерфейса, как вы говорите, я бы пошел на хэшбанг, как предположил Роб Ди Марко. Хешбанг фактически даже изначально предназначен для указания на определенное состояние пользовательского интерфейса, а именно на позицию в документе, так что он подходит для этой цели достаточно хорошо, и еще лучше, он оставляет историю, поэтому работает кнопка «Назад».

Если это связано с сеансом, например, кэш кеша доступа с сервера, файлы cookie - это один из способов, да, но использование файлов cookie в лучшем случае сложнее в эти дни, учитывая количество законов, окружающих их. Вам лучше использовать локальное хранилище, например. адаптер для углового локального хранения, предложенный Джоном Ценгом, но я бы лично избегал использования куки в качестве резерва, если вы не хотите нанять адвоката, чтобы выяснить, что вам нужно делать. Если это что-то, что не мешает приложению работать каким-либо образом, а лишь немного ухудшает опыт, вероятно, не стоит тратить лишнюю милю, чтобы улучшить этот опыт. У вас будет лучшее, что можно улучшить.

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