2013-09-23 3 views
9

У меня ngView с тремя ngIncluded просмотров: поиск фильтров, продуктов, разбиение на страницы. Я хочу:Задняя кнопка при перезагрузкеОнслер: false

  1. фильтр продукты без перезагрузки всей страницы только продукты просмотра
  2. добавить фильтры к URL-адресу, например. ?category=shoes
  3. быть в состоянии использовать снова и следующие кнопки

Я поставил reloadOnSearch: false в $routeProvier.when. Теперь, когда я вызываю $location.search(), функция url изменяется, но страница не перезагружается. Этого я и хотел достичь, но когда я нажимаю кнопку «Назад», продукты не перезагружаются в прежнее состояние. Единственное, что происходит, это изменение URL. Вопрос в том, как я могу обрабатывать назад и следующие события кнопки в этой ситуации?

ответ

11

Если вы выполните reloadOnSearch: false, используется тот же самый экземпляр контроллера, и любая обратная связь не перезагружает контроллер или соответствующий вид. Вам необходимо ответить на событие $routeUpdate, которое будет поднято в таких сценариях. См. $ Route documentation относительно этого.

$scope.$on('$routeUpdate',function(e) { 
    // Code to handle the route change. 
}); 
0

Вы должны обрабатывать все вручную. Это означает, что когда вы нажимаете кнопку «Назад» или «Следующая», вам нужно вернуться в состояние, в котором вы используете $ location.

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