У меня есть route
, который должен resolve
ресурс на стороне сервера. Этот ресурс запрашивает аутентификацию. Поэтому я показываю всплывающее окно формы входа, которое можно отменить. При отмене маршрута/разрешения получает rejected
и $routeChangeError
срабатывает правильно.
Проблема заключается в том, что у меня теперь есть неудавшееся местоположение/URL-адрес в адресной строке и ненужная запись истории.
Как заменить текущий адрес местоположения на последний без перезагрузки? И как удалить текущую запись истории после смены маршрута?
Редактировать: Я использую angular-http-auth. Вот моя маршрутизация:
/home
>/item
(должен решить ресурс, который требует проверки подлинности, когда не вошли в форму Войти всплывающее окно открывается, который отменяемый)
Когда я отменить проверку подлинности на $ routeChangeError получает и я все еще на /home
страница из-за /item
никогда не отображалась. Теперь адресная строка показывает неправильный URL: /item
Спасибо, но перезагружает страницу я уже/еще seeing.I используйте angular-http-auth и откройте всплывающее окно входа, когда ресурс на маршруте (с разрешением) требует аутентификации. Когда я отменяю этот логин, я вижу нужную страницу, но неправильное местоположение. С $ location.replace() я могу избавиться от этой ненужной записи истории при следующем изменении маршрута. Но это не решение. Я должен изменить $ location на $ routeChangeError, не перезагружая одну и ту же страницу. – tagomago
Тогда вам нужно предоставить больше кода. Я думал, что у меня есть идея, что вам нужно делать, но сейчас я понятия не имею, что вы пытаетесь. Кроме того, я бы рекомендовал пометить ваш вопрос с помощью «angular-http-auth» или того, что вы используете, и, возможно, посылки ссылки на автора модуля. –
Мне, к сожалению, не разрешено открывать новый тег «angular-http-auth». – tagomago