Подтвердить что ты не робот

AngualrJS: поддержка данных по обновлению html

Есть ли способ загрузить несколько данных в некоторый кеш в angular js и onrefresh страницы загрузить эти данные из кеша и отобразить его снова?

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

У меня есть страница входа и домашняя страница. При успехе входа в систему, используя $route, я направляюсь на домашнюю страницу и передаю идентификатор loginID на главный контроллер. теперь, когда я обновляю эту домашнюю страницу или копирую url и вставляю другую вкладку, я хочу, чтобы те же данные существовали. Но в моем случае, поскольку htmls/javascripts перезагружаются, он получает инициализацию до нуля.

Любой метод angular, доступный здесь?

4b9b3361

Ответ 1

Взгляните на эту дискуссию.

Для небольших объемов данных (< = 4k) вы можете использовать $cookieStore, но после этого вам нужно будет изучить localStorage, имея в виду, что localStorage связывает ваше приложение с браузерами, совместимыми с HTML5.

Если вы не возражаете против небольшого состояния на вашем сервере, это также вариант.

EDIT на основе первого комментария

Похоже, ваша цель состоит в том, что когда пользователь нажимает на обновление, страница должна выглядеть так, как будто они никогда не попадали в нее. Вам нужно будет сохранить все состояние приложения в localStorage (область действия, свойства DOM, службы с сохранением состояния). В любое время это изменение. Не уверен, что это целесообразно.

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

Чтобы расширить ответ сверху:

  • Используйте URL-адрес для описания состояния приложения, используя службу Angular $route. Мне всегда нравилась эта статья, чтобы объяснить URL и состояние, хотя статья довольно специфична для Ember.

  • Что касается остановки клиента от перезагрузки ваших сценариев при обновлении, нет никакого способа сделать это - самое близкое, что вы придете, - это вернуть серверу 304 (Not Modified) код для этих скриптов.

  • Данные области и состояния службы должны сохраняться в локальном хранилище, как описано выше.

Несмотря на то, что проблема обновления раздражает, на самом деле это заставляет вас думать как можно более безграждане, а код без учета состояния гораздо проще поддерживать и тестировать. Если вы ищете потенциал роста:)