현재 두 가지 문제가 있지만 그 중 하나가 두 번째 문제의 원인 일 가능성이 큽니다.angular 2loadChildren, 경로 경로 고려 안 함
문제는 각기 다른 프로젝트의 루트에서 두 모듈이 서로 다른 모듈의 loadChildren을 사용한다는 두 경로가 있다는 것입니다. 문제는 칠레 루트가 부모 루트를 걱정하지 않는다는 것입니다.
예 :
부모 = "인증"
아이 = "로그인"
하지만 난에 액세스 할 수 있습니다 (2 차 문제는 내가로 리디렉션 얻을 수있다) 로컬 호스트 : 4200/로그인은 복용하지 부모는 "auth"를 URL에 추가합니다.
구조를 보여주는 플 런커입니다. 플 런커로 실행하지는 못했지만 구조가 어떻게되어 왔는지 보여줍니다.
http://plnkr.co/edit/xcD15gkX3mcvCvXZvxTs
코드 :
주요 경로
export const appRoutes: Routes = [
{
path: '',
pathMatch: 'full',
component: PageComponent,
loadChildren:() => PageModule
},
{
path: 'auth',
component: AuthComponent,
loadChildren:() => AuthModule
}
];
페이지 경로
export const pageRoutes: Routes = [
{
path: '',
pathMatch: 'full',
component: DashboardComponent
}
];
인증 경로
export const authRoutes: Routes = [
{
path: '',
pathMatch: 'full',
redirectTo: 'login'
},
{
path: 'login',
component: LoginComponent
}
];
"RouterModule.forRoot (...)" 수입과 각 모듈에 사용 된 모든 3.
그래서 다시 : 방문 http://localhost:4200 로그인 전에 인증을 누락 http://localhost:4200/login
에 저를 리디렉션, 모든하지만 대시 보드의 구성 요소로 이동에서 인증을로드 가정 아니에요.
EDIT로드 모듈에 아이에게 루트에서 변경
팁 주셔서 감사합니다, 슬프게도 내 문제를 해결하지 못했습니다 파산. 가이드 라인을 준수하기 위해 변경되었습니다. 여전히 서있는 문제 – Fyllekanin