У меня так много Stackoverflow и других сайтов, чтобы получить решение моей проблемы в изменении конфигурации маршрутизатора ленивым загруженным модулем (внутри него, а не к нему).Я справился с этим, чтобы он работал для main (app) -routes, сбросив конфигурацию в конструкторе app-routing.Но то же самое в Lazy-модуле не позволяет внутреннему модулю правильно перейти к измененной конфигурации маршрутизации.Я создал Plunker https://stackblitz.com/edit/angular-ymzczk для этого, где вы можете видеть, что приложение-маршрутизация работает, а ленивый модуль - нет.Может ли кто-нибудь посмотреть на код, что я делаю не так?Спасибо.С уважением.
-------------APP_ROUTING------------------------------------------------
export const routes: Routes = [
{ path: '', canActivate: [ ], /*component: AppComponent,*/ children: [
{ path: "OVERWRITE_ABLE_PATH", "redirectTo": "" },
{ path: 'mock', component: MockToBeReplacedComponent, },
{ path: 'lazy', loadChildren: './lazy-module/lazy-module.module#LazyModuleModule' },
{ path: '', redirectTo: 'mock', pathMatch: 'full' },
],
},
];
...
let AppRoutingJson: Routes = [
//{ path: '', redirectTo: 'mock', pathMatch: 'full' },
{ path: '', redirectTo: 'lazy', pathMatch: 'full' },
];
appService.prepareRoutes("App", this.router, AppRoutingJson, routes);
...
OUTPUT (console.log, after replacement, does navigate):
[
{"path":"","canActivate":[],"children[
{"path":"","redirectTo":"lazy","pathMatch":"full"},
{"path":"mock"},{"path":"lazy"},
{"path":"","redirectTo":"mock","pathMatch":"full"}
]
}
]
-----------------------------------------------------------------------
---------------LAZY_MODULE_ROUTING-------------------------------------
export const routes: Routes = [
{ path: '', canActivate: [ ], component: LazyModuleComponent, children: [
{ path: "OVERWRITE_ABLE_PATH", "redirectTo": "" },
{ path: 'dummy', component: DummyToBeReplacedComponent, },
{ path: '', redirectTo: 'dummy', pathMatch: 'full' },
],
},
];
...
let AppRoutingJson: Routes = [
//{ path: '', component: ReplacerComponent, },
{ path: 'dummy', component: ReplacerComponent, },
];
appService.prepareRoutes("LazyModuleRoutingModule", this.router, AppRoutingJson, routes);
...
OUTPUT (console.log, after replacement, does NOT navigate):
[
{"path":"","canActivate":[],"children":[
{"path":"dummy"},
{"path":"dummy"},
{"path":"","redirectTo":"dummy","pathMatch":"full"}
]
}
]