>

Angular 응용 프로그램에서 별도의 두 페이지를 찾을 수 없습니다.

앱 루트에는 사용자가 다음과 같은 경우가 있습니다 : http : // localhost : 4200/xyz . 괜찮습니다.

그러나 AuthGuard가있는 관리 모듈에 하나를 추가했습니다. 사용자가 로그인하여 http : // localhost : 4200/admin/xyz 로 이동하면 관리 모듈 내에서 찾을 수없는 페이지로 이동합니다. 어떤 이유로 든 로그 아웃되어 다시 로그인 페이지로 리디렉션됩니다.

아래 샘플 프로젝트를 참조하십시오 (/ admin으로 이동하여 로그인 한 다음 경로를/admin/xyz로 변경하고 Enter 키를 누르십시오). https://stackblitz.com/edit/angular-7tjyqx

또한 보호 모듈이 아닌 위기 중심에서도 마찬가지입니다./crisis-center/xyz로 이동하면 위기 대신 위기 센터로 다시 리디렉션됩니다 (페이지를 찾을 수 없음

  • 답변 # 1

    이는 각도 (AuthService)의 서비스가 지연로드 된 모듈에 대한 싱글 톤으로 공유되지 않기 때문입니다. 따라서 주소 표시 줄에서 직접 http : // localhost : 4200/admin/xyz로 이동할 때마다 isLogged를 false로 설정하고 로그인 페이지로 이동하는 새 서비스 인스턴스가 작성됩니다. 그러나 로그인하여 방문하면 http : // localhost : 4200/admin/xyz에 링크하면 페이지가 없습니다

    발견 된 것은 모듈의 동일한 서비스 인스턴스 내에 있기 때문입니다.

관련 자료

  • 이전 c - if (ctr % 2)는 무엇을 의미합니까?
  • 다음 java - 단방향 일대일 관계의 최대 절전 모드에서 소유자 인 부모 엔터티