У меня есть установка приложения с 2-состояниями, A и AB сделано таким образом:AngularJS UI-маршрутизатор состояние не обновляется на спине
$stateProvider.state('A', {
url: "/A/{aId}",
controller: 'AController',
templateUrl: function($stateParams) {
return "/A/" + $stateParams.aId + "/layout";
}
}).state('A.B', {
url: "/B/{bId}",
controller: 'BController',
templateUrl: function($stateParams) {
return "/A/" + $stateParams.aId + "/B/" + $stateParams.bId+ "/layout";
}
});
Когда я нахожусь в состоянии AB (URL-адрес будет Somthing например, #/A/12/B/123) и вернуться с помощью кнопки «Назад» браузера или перехода к изменению URL-адреса, состояние AB очищается, но состояние «А» не отбрасывается. Насколько я могу судить, контроллер не запускается.
Итак, если я нахожусь в A/12/B/123 и возвращаюсь к A/12, ничего не происходит, но если я вернусь к A/13 (с помощью transitionTo), это сделает.
В примере приложения из проекта с угловым ui-маршрутизатором этот сценарий работает нормально, поэтому я думаю, что может быть что-то не так в моей настройке. Я думаю, что стоит упомянуть, что на index.html у меня есть ui-view, который загружает состояние A, а шаблон для состояния A имеет другой ui-view, который загружает состояние AB
Если бы кто-нибудь мог помочь, я был бы очень признателен
Я считаю, что все еще остается открытым вопрос об этом: https: // GitHub .com/angular-ui/ui-router/issues/52 –
Да, я видел эту проблему, но поведение, которое я описываю, хорошо работает в своем примере приложения. http://angular-ui.github.io/ui-router/sample/ – Grig
Не могли бы вы опубликовать Plunkr, который демонстрирует проблему? Это довольно стандартное поведение, которое обычно отлично работает во всех случаях. –