에 서버 측 리소스 인 resolve
이 있어야합니다. 해당 자원이 인증을 요청합니다. 그래서 나는 취소 할 수있는 로그인 폼 팝업을 보여줍니다. 취소시 route/resolve가 rejected
및 $routeChangeError
이 올바르게 실행됩니다.
문제는 주소 표시 줄에 불필요한 위치/URL과 불필요한 기록 항목이 있다는 것입니다.
어떻게 현재 위치 URL을 다시로드하지 않고 마지막 위치 URL로 바꾸시겠습니까? 경로 변경이 실패한 후에 어떻게 현재 기록 항목을 제거합니까?
편집 : 나는 angular-http-auth를 사용합니다. 나는 $ routeChangeError 가져 인증을 취소 할 때
/home
>/item
(인증이 필요한 리소스를 해결해야하고, 로그인 폼 팝업 로그인하지 않은 경우가 열립니다까지 취소 할 수 있습니다)
: 여기 내 라우팅입니다 해고 나는 여전히 /home
로 인해 페이지에 페이지에있어. 이제 주소 표시 줄에 잘못된 URL이 표시됩니다. /item
감사합니다,하지만 난/정지 이미있어 페이지를 다시로드 나십니까 route-resource-name을 사용하여 경로상의 자원 (resolve 포함)이 인증을 필요로 할 때 login-pop-up을 사용합니다. 로그인 팝업을 취소하면 올바른 페이지가 표시되지만 잘못된 위치가 표시됩니다. $ location.replace()를 사용하면 다음 경로 변경시 불필요한 기록 항목을 제거 할 수 있습니다. 하지만 그건 해결책이 아닙니다. 동일한 페이지를 다시로드하지 않고 $ routeChangeError에서 $ 위치를 변경해야합니다. – tagomago
더 많은 코드를 제공해야합니다. 네가해야 할 일에 대한 아이디어가 있다고 생각했지만, 지금 너는 뭘 하려는지 전혀 모른다. 또한 "angular-http-auth"또는 사용하고있는 모듈에 대한 질문을 태그로 지정하고 모듈 작성자에게 링크를 보내는 것이 좋습니다. –
불행히도 "angular-http-auth"라는 새 태그를 열 수 없습니다. – tagomago