2017-06-16 3 views
1

J'essaie d'utiliser Angular2 pour charger certains modules. Je pourrais le faire fonctionner, mais quand je l'utilise avec canActivateChild, il bloque la navigation mais charge le module, je ne sais pas si j'ai besoin de faire autre chose, mais je voudrais charger le module seulement si je suis permettre d'accéder à l'itinéraire. Par exemple, il s'agit d'un tableau de bord d'administration et je souhaite charger AdminModule uniquement lorsque l'utilisateur est connecté.Angular 2 loadChildren ne fonctionne pas avec canActivateChild

Ceci est mon principal routage du module:

export const routing = [ 
    { path: '', redirectTo: 'home', pathMatch: 'full' }, 
    { path: 'login', component: LoginComponent }, 
    { 
     path: '', 
     canActivateChild: [AuthGuard], 
     children: [ 
      { path: 'home', component: HomeComponent }, 
      { path: 'adm', loadChildren: './admin/admin.module#AdminModule' }, 
     ] 
    }, 
    { path: '**', component: NotFoundComponent }, 
]; 

Et voici mon routage admin:

export const adminRouting = [ 
    { path: '', 
     children: [ 
      { path: 'client', component: ClientComponent }, 
      { path: 'support', component: SupportComponent }, 
      // more routes 
     ] 
    }, 
]; 

Comme je l'ai dit, tout dans la navigation fonctionne comme attendre, mais quand je suis Non connecté Je voulais empêcher le chargement du module lazyLoad.

Répondre