2016-10-06 21 views
8

私はAngular 2で遊んでいますが、ルータにいくつか問題があります。 メインのルータ - アウトレットの内側に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)'); 

持っている。しかし、これは次のエラーでウェブをクラッシュ:

キャッチされない(約束で):エラー:ロードするために出口の主を見つけることができません'DaysComponent'

メインルータの内部に2つ目のルータ出口があるのはどうでしょうか?

ありがとうございます。

+0

:[補助ルータ出口inside-プライマリルータのアウトレット](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

関連する問題