В прошлом я сохранял состояние просмотра, имея службу, которая хранила его в объекте.
Любая ссылка на поле, которое я хотел сохранить (например, столбец сортировки таблицы или значение определенного поля), будет сохранена в объекте состояния представления службы, а не в контроллере/области.
Контроллер будет проверять «источник» или «тип» передачи страницы при ее инициализации путем поиска определенного параметра или состояния URL-адреса (например, #/search?type=new). Если бы это считалось новым поиском, значения были бы сброшены. В противном случае он будет отображать и использовать ранее использованные значения.
Перезагрузка приложения уничтожит данные в Сервисе, предоставив совершенно новую форму.
Подход, который я описал выше, прост, потому что angular обрабатывает сохранение за вас. Службы являются одноэлементными, поэтому, привязываясь непосредственно к полям службы, они автоматически сохранят изменения маршрута.
На ваш взгляд:
<input ng-model="criteria.firstName">
В инициализации вашего контроллера:
$scope.criteria = ViewStateService.criteria;
Если вы предпочитаете сохранять состояние просмотра только в определенных точках, вы можете настроить обработчик событий для события изменения страницы/маршрута и сделать копию данных в этой точке.
$scope.$on('$locationChangeStart', function(next, current) {
//code to copy/save fields you want to the Service.
});
как отслеживать изменение маршрута в angularjs
person
JGefroh
schedule
22.01.2015
?search=set+of+terms
. - person David   schedule 22.01.2015