Ответ 1
Взгляните на эту дискуссию.
Для небольших объемов данных (< = 4k) вы можете использовать $cookieStore, но после этого вам нужно будет изучить localStorage, имея в виду, что localStorage связывает ваше приложение с браузерами, совместимыми с HTML5.
Если вы не возражаете против небольшого состояния на вашем сервере, это также вариант.
EDIT на основе первого комментария
Похоже, ваша цель состоит в том, что когда пользователь нажимает на обновление, страница должна выглядеть так, как будто они никогда не попадали в нее. Вам нужно будет сохранить все состояние приложения в localStorage (область действия, свойства DOM, службы с сохранением состояния). В любое время это изменение. Не уверен, что это целесообразно.
Вы можете подойти достаточно близко, чтобы функционировать, хотя:
Чтобы расширить ответ сверху:
-
Используйте URL-адрес для описания состояния приложения, используя службу Angular $route. Мне всегда нравилась эта статья, чтобы объяснить URL и состояние, хотя статья довольно специфична для Ember.
-
Что касается остановки клиента от перезагрузки ваших сценариев при обновлении, нет никакого способа сделать это - самое близкое, что вы придете, - это вернуть серверу 304 (Not Modified) код для этих скриптов.
-
Данные области и состояния службы должны сохраняться в локальном хранилище, как описано выше.
Несмотря на то, что проблема обновления раздражает, на самом деле это заставляет вас думать как можно более безграждане, а код без учета состояния гораздо проще поддерживать и тестировать. Если вы ищете потенциал роста:)