Как хранить состояние страницы в Angular SPA?

Насколько я понимаю, на странице может быть только один контейнер ng-view, в который будет загружаться содержимое страниц. Соответственно, вновь загружаемая страница будет затирать текущую.

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

Как лучше сохранить состояние страницы с полученной выборкой? Это касается не только выборок данных, но и прочих ситуаций, в которых надо хранить состояние.

UPD1: Пример. Это приложение-пример из учебника по Angular. Если ввести в поле ввода 'axis', то в списке останется только один телефон. Если перейти на страницу этого телефона, а потом вернуться назад в список, то список придет в исходное состояние.
  • Вопрос задан
  • 3906 просмотров
Решения вопроса 2
TekVanDo
@TekVanDo
Javascript Developer
Используйте https://github.com/angular-ui/ui-router там и несколько view поддерживается и состояние можно сохранять.
Ответ написан
Комментировать
Serhioromano
@Serhioromano
Web Developer
Для этого можно использовать вложеные или иерархические сосотояния. Если вы находитесь в списке, просмотр элемента будет вложеным состоянием. При таком подходе мы не выходим из предыдущего состояния и все переменные там остаются теже при переходе назад.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы