1

Есть ли способ поддерживать $ scope при изменении взглядов и возвращении?AngularJS mantain состояние при смене видов?

Когда я загружаю определенный вид, есть тяжелая загрузка (данные по загрузке), но если я переключаю виды и возвращаюсь к этому, все данные перезагружаются снова. Есть ли способ предотвратить это?

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

+0

Вы можете сохранить свое состояние, как я упоминаю в своем ответе. Но представление разрушается при маршрутизации, и вам нужно его перестроить. –

ответ

1

Есть несколько способов справиться с этим.

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

Услуги (Моя Немедленное рекомендация)
Вы можете использовать статический сервис, где данные могут быть сохранены, либо постоянно, либо при изменении маршрута. Затем вы можете снова загрузить данные в $ scope.

Кэширование
AngularJS имеет встроенный кэш, вы можете использовать. Это здорово, если вам нужно только сохранить его часть или на меньшее время. Прочтите документацию для CacheFactory here.

WebSQL или LocalStorage
Для больших объемов данных, вы хотите хранить между сеансами, вы можете использовать базу данных WebSQL в большинстве браузеров, или сохранить его как текст в LocalStorage в браузере.