Я пытаюсь использовать маршрутизацию UML с угловым интерфейсом. У меня есть три веб-страницы, клиенты могут получить доступ к первой странице по какой-либо ссылке, но если у url есть прикрепленный к ней токен, я делаю в контроллере $ state.go ('second-page'). Если токен равен нулю, я держу клиента на первой странице. Однако я хочу, чтобы клиент, нажав кнопку «Назад» в браузере, должен перейти на первую страницу. Который не бывает.Угловой интерфейс JS UI Маршрутизация
Так сценарий
клиент приходит по ссылке
'#/форма/календарь /: officeId /: лексема'
и поскольку маркер не является нулевой переход я вторая страница, которая не имеет URL-адрес теперь становится
'#/форма /'
, но когда клиент нажимает на кнопку назад он пытается перейти к
«#/форма/календарь /: officeId /: лексема»
, что приводит к циклическому переходу на вторую страницу а клиент никогда не сможет достичь первой страницы.
Просьба сообщить, как этого избежать.
Спасибо
Я пытался поставить эту функцию в мой контроллер, как это: ** app.controller ('calendarCntrl', функция ($ rootScope, $ сфера, $ stateParams, $ состояние) { вар перенаправлены = ложь; $ rootScope. $ on ('$ stateChangeStart', function (e, to, toParams, from, fromParams) { // Переадресовать пользователя, но только один раз if (! redirected && toState.token! = null) { e. preventDefault(); перенаправлены = истина; $ state.go ('form.clientInfo-маркер');} }); ** Но он не попал в функцию, я что-то пропустил? – alyn000r
Если ваш контроллер является частью состояний маршрутизации, он не будет загружен до тех пор, пока не произойдет изменение состояния. Вам нужно переместить его в другое место, например, в основной контроллер, который всегда работает, услугу и т. Д. –
Я пошел с методом замены, но это тоже работает! Спасибо, Чад! – alyn000r