2016-10-06 4 views
8

Gram z Angularem 2 i mam problemy z routerem. Chcę mieć drugi router-outlet w głównym gniazdku routera.Gniazdo zagnieżdżone Angular2

Wewnątrz pierwszy router gniazdka, i przekierowanie do strony głównej, gdzie mam drugi router wylot:

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

To mój app.routing bez importu.

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); 

Na HomeComponent ngOnInit mam to

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

Ale to wywala w internecie z powodu następującego błędu:

Uncaught (w obietnicy): Błąd: Nie można odnaleźć główny rynek zbytu, aby załadować "DaysComponent"

W jaki sposób drugi wylot routera może znajdować się w głównym?

Dziękuję.

+0

podobne do tego: [pomocniczego router wylotowej inside- primary-router-outlet] (http://stackoverflow.com/questions/39893428/auxiliary-router-outlet-inside-primary-router-outlet) Mam ten sam problem ... –

Odpowiedz

9

Spróbuj tej konfiguracji trasy:

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

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

i ten adres:

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

lub (równoważnik)

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

Dziękuję bardzo! – OST