2017-04-22 1 views
0

J'ai 2 application avec cet itinéraire angulaire:angulaire 2 et erreur d'accès de la route des enfants SystemJS

export const MODULE_ROUTES: Route[] =[ 
    { path: '', redirectTo: 'dashboard', pathMatch: 'full' }, 
    { path: 'dashboard', component: HomeComponent, canActivate: [AuthGuard] }, 
    { path: 'user', component: UserComponent, canActivate: [AuthGuard] }, 
    { path: 'table', component: TableComponent, canActivate: [AuthGuard] }, 
    { path: 'icons', component: IconsComponent, canActivate: [AuthGuard] }, 
    { path: 'notifications', component: NotificationsComponent, canActivate: [AuthGuard] }, 
    { path: 'typography', component: TypographyComponent, canActivate: [AuthGuard] }, 
    { path: 'maps', component: MapsComponent, canActivate: [AuthGuard] }, 
    { path: 'upgrade', component: UpgradeComponent, canActivate: [AuthGuard] }, 
    { path: 'calendar', component: CalendarComponent, canActivate: [AuthGuard] }, 
    { path: 'login', component: LoginComponent }, 
    { path: 'unauthorized', component: UnauthorizedComponent }, 
    { path: 'adminarea',component: AdminareaComponent, canActivate: [AuthGuard], 
    children: [ 
     { 
      path:'test1', component: CalendarComponent 
     } 
    ] }, 
    { path: '**', component: DashboardComponent } 

] 

J'ai le <base href='/'> sur mon fichier index.html . En outre, j'ai l'étiquette <router-outlet> aussi sur mon composant.

Si je mets sur le navigateur:

http://localhost:8000/adminarea ou http://localhost:8000/dashboard la page et l'itinéraire est affiché normalement. Mais si je mets http://localhost:8000/adminarea/test1 alors la page est cassé avec des erreurs étranges:

enter image description here

Si je mets une route secondaire (ou l'enfant) de tout parent sur ma barre d'adresse du navigateur, puis a cette même erreur et behavihor. Par exemple:

http://localhost:8000/dashboard/xyz 

Mais si je dois { path: '**', component: DashboardComponent } ne devrait pas rediriger vers mon DashboardComponent (dans le cas où une route est 404)? Pourquoi mon itinéraire enfant 'test1' ne fonctionne pas?

Pouvez-vous m'aider s'il vous plaît?

Répondre

0

Le problème était l'enfant nommé <router-outlet>.

Sur mon composant enfant, j'ai une sortie de routeur nommée <router-outlet name="adminarea"></router-outlet>. Je supprime le "nom" et tout fonctionne maintenant. Mais je ne comprends pas pourquoi.