Я создал два компонента, касающихся проблемы с маршрутизацией loadChildren и навигацией на выходе. По какой-то причине наличие пустого базового пути в загруженном дочернем модуле не работает с выходной навигацией.
В этом примере нажатие на ссылку "Контакты" завершается неудачей.
Приложение-routing.module
const appRoutes: Routes = [
{ path: 'admin', loadChildren: () => AdminModule },
{ path: '', redirectTo: '/admin', pathMatch: 'full' }
];
админ-routing.module
const adminRoutes: Routes = [
{
path: '',
component: AdminComponent,
children: [
{
path: 'compose',
component: ComposeMessageComponent,
outlet: 'popup'
}
]
}];
В этом примере нажатие на ссылку "Контакты" работает.
Приложение-routing.module
const appRoutes: Routes = [
{ path: 'admi', loadChildren: () => AdminModule },
{ path: '', redirectTo: '/admi/n', pathMatch: 'full' }
];
админ-routing.module
const adminRoutes: Routes = [
{
path: 'n',
component: AdminComponent,
children: [
{
path: 'compose',
component: ComposeMessageComponent,
outlet: 'popup'
}
]
}];
Разница заключается в app-routing.module и admin-routing.module. В рабочем примере нет пустого пути для admin-routing.module. Согласно документации, пустой путь должен работать.