AngularJS: отслеживайте пользовательский ввод в URL-адресе, чтобы пользователь мог воспользоваться преимуществами браузера назад/вперед.

Официальное руководство по AngularJS — отличный пример моей проблемы. Когда вы вводите запрос и выбираете способ сортировки результатов на странице http://angular.github.io/angular-phonecat/step-12/app/#/phones, URL-адрес остается прежним, и данные пользователя больше нигде не сохраняются. Теперь, если пользователь щелкнет ссылку, он не сможет вернуться к своим отфильтрованным результатам. С большим количеством элементов и фильтров это становится раздражающим.

Каков наилучший подход к сохранению пользовательских фильтров и запросов в URL-адресе? Я попытался использовать комбинацию $location и $routeParams AngularJS и history.pushState() браузера, однако это стало довольно громоздким, и некоторые вещи все еще не работают. Чтение главы «Организация навигации» книги «Освоение разработки веб-приложений с помощью AngularJS» также не помогло. Меня беспокоит не один фрагмент кода, а вся его структура.


person Ivan Vashchenko    schedule 24.03.2014    source источник


Ответы (1)


Только что ответил на аналогичный вопрос для кого-то другого. Вы можете сохранить состояние как значение.

См. в качестве примера этот планкер. Также см. этот другой вопрос/ответ.

person null    schedule 24.03.2014