Estoy tratando de tener un trabajo de carga diferida con salidas de enrutador anidadas pero sin suerte.
¿Es esto compatible en absoluto en Angular 4?
Este es mi caso de uso:
Parece haber un problema al usar la navegación del enrutador con módulos cargados de forma diferida. Esto funciona bien si elimino la carga diferida. Pero aquí está mi configuración de acuerdo con los módulos de carga lenta:
En mi app.template tengo definida la salida del enrutador principal.
Tengo el siguiente enrutador de aplicaciones raíz
export const ROUTES: Routes = [ { path: 'user/:id', loadChildren: './user/profile/profile.module#ProfileModule' } ]Cuando el módulo de perfil se cargue en la salida del enrutador principal, mostrará una página con dos pestañas de enrutamiento y un perfil interno. Módulo Tengo las siguientes rutas secundarias definidas
const ROUTES: Routes = [ { path: '', component: ProfileComponent, children: [ { path: 'subPath1', loadChildren: '../subModule1/subModule1.module#SubModule1Module' }, { path: 'subPath2', loadChildren: '../subModule2/subModule2.module#SubModule2Module' }, ] } ]; @NgModule({ imports: [ RouterModule.forChild(ROUTES), .... ] }Dentro de profile.template tengo una pestaña de enrutamiento definida así
<nav md-tab-nav-bar> <a class="tab-label" md-tab-link [routerLink]="'subPath1'" routerLinkActive #rla="routerLinkActive" [active]="rla.isActive"> Sub path 1 </a> <a class="tab-label" md-tab-link [routerLink]="'subPath2'" routerLinkActive #rla="routerLinkActive" [active]="rla.isActive"> Sub path 2 </a> </nav> <router-outlet></router-outlet>Cuando enruto, por ejemplo, a /user/:id/subPath2, espero que subModule2 se cargue en la salida del enrutador de md-tab-nav-bar pero, en cambio, se carga en la salida del enrutador de la aplicación principal. Esto cierra el componente de perfil y muestra solo el submódulo2 en lugar de mostrarlo dentro de la pestaña.
¿Alguna idea de por qué esto no funciona con módulos de carga lenta?