2014-11-27 3 views
0

Я разрабатываю приложение с AngularJS, которое имеет телефонную книгу. Состояние page.phonebook содержит список пользователей и компаний и форму с фильтрами. Данные загружаются через ngResource из бэкэнд. Если я нажму на пользователя, я попаду на страницу подробностей пользователей. Когда я сейчас делаю браузер назад (backspace), я возвращаюсь к списку телефонной книги, но с новым $scope. Это означает, что я потерял старое государство со всеми своими фильтрами, данные и т.д.Сохранять родительское состояние в AngularUI Router

Я думаю, проблема в том, что я загружаю состояние page.phonebook.user в page зрении, который заменяет page.phonebook состояния.

Но как можно сохранить прежнее состояние? Это включает в себя положение прокрутки, значения фильтра и данные с сервера.

Это мое состояние конфигурации:

$stateProvider 
.state('page', { 
    abstract: true, 
    controller: 'PageController', 
    templateUrl: 'app/templates/page.html', 
}) 
.state('page.phonebook', { 
    url: "^/phonebook", 
    templateUrl: 'app/templates/page.phonebook.html', 
    controller: 'PhonebookController' 
}) 
.state('page.phonebook.user', { 
    url: "^/user/:userId", 
    views: { 
     '@page': { 
      controller: 'UserController', 
      templateUrl: 'app/templates/page.user.html' 
     } 
    } 
}); 
+0

Вы пробовали 'ngRouteProvider' вместо' stateProvider'? – Kutyel

ответ

0

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

+0

Я надеялся, что для этого есть еще более простое решение. Тогда я создам услугу. Спасибо за вашу помощь. – android

Смежные вопросы