Угловой 11: Модуль ленивой загрузки в именованной розетке маршрутизатора

#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»}