2016-10-06 5 views
8

저는 Angular 2로 놀고 있는데 라우터에 문제가 있습니다. 두 번째 라우터 콘센트를 주 라우터 콘센트에 설치하고 싶습니다. 첫 번째 라우터 콘센트 내부 Angular2 중첩 라우터 콘센트

, 난 내가 두 번째 라우터 콘센트를 홈 페이지로 리디렉션 :

<router-outlet name="main"></router-outlet> 

이 수입없이 내 app.routing입니다. HomeComponent ngOnInit에

const appRoutes: Routes = [ 
    { path: '', component: HomeComponent }, 
    { path: 'login', component: LoginComponent}, 
    { path: 'days', component: DaysComponent, outlet: 'main'} 
]; 

export const appRoutingProviders: any[] = [ 

]; 

export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes); 

나는이

this.router.navigateByUrl('/(main:days)'); 

해야하지만이 다음 오류와 함께 웹을 충돌 :

catch되지 않은 (약속의) : 오류 :로드 출구 주를 찾을 수 없습니다 'DaysComponent'

메인 라우터 내부에 두 번째 라우터 콘센트가있을 수 있습니까?

감사합니다.

+0

유사 [보조 - 라우터 출구있어 문 기본 라우터 - 콘센트] (http://stackoverflow.com/questions/39893428/auuxiliary-router-outlet-inside-primary-router-outlet) 나는 같은 문제가 ... –

답변

9

이 경로 구성을보십시오

const appRoutes: Routes = [ 
    { path: '', component: HomeComponent }, 
    { path: 'login', component: LoginComponent}, 

    { 
     path: 'wrap', 
     component: HomeComponent, 
     children: [ 
      { 
      path: 'days', 
      component: DaysComponent, 
      outlet: 'main' 
      } 
     ] 
    } 
]; 

이 URL을 :

this.router.navigate(['/wrap', { outlets: { main: 'days' } }]); 

또는 (상당)

this.router.navigateByUrl('/wrap/(aux:aux)'); 
+0

대단히 감사합니다! – OST

관련 문제