#angular #angular-routing #angular11 #angular-lazyloading
Вопрос:
Мне нужно лениво загрузить модуль регистрации из библиотеки angular в мое приложение angular.
Здесь, ниже, вы можете видеть, что я пытаюсь использовать «reg_outlet» для лениво загруженного модуля регистрации. Но, поступая таким образом, я получаю ошибку:
Ошибка: Не удается сопоставить ни один маршрут. Сегмент URL:
register.component.html
<router-outlet>
</router-outlet>
Регистрация-маршрутизация.модуль.ts
const routes: Routes = [
{
path: '',
component: RegisterComponent,
children: [
{ path: '', pathMatch: 'full',
canActivate: [RegistrationRoutingGuard],
},
{ path: routesConst['RegistrationIdComponent'], component: RegistrationIdComponent, canDeactivate: [GoBackGuard] },
]
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
приложение-маршрутизация.модуль.ts
const routes: Routes = [
{
path: '',
pathMatch: 'full',
redirectTo: '/register',
},
{
path: 'register',
loadChildren: () => import('nid-lib/lib/register').then(m => m.RegisterModule),
outlet: 'reg_outlet'
},
{
path: 'forgot',
loadChildren: () => import('nid-lib/lib/forgot').then(m => m.ForgotModule),
}
];
@NgModule({
imports: [RouterModule.forRoot(routes, {preloadingStrategy: PreloadAllModules, useHash: true})],
exports: [RouterModule]
})
app.component.html
<router-outlet>
</router-outlet>
<router-outlet name="reg_outlet">
</router-outlet>
Комментарии:
1. я думаю, что в объекте дочернего массива вам также необходимо указать свойство outlet, например : {outlet:»reg_outlet»}