мое приложение имеет 2 основных модуля
-- app module
-- dashboard module //lazy loaded
* В модуле приложения
есть контейнер homeComponent
, который содержит navbarComponent
и heroComponent
я хочу импортировать navbarComponent
в дочерний компонент dashboard module
, поэтому я сделал панель навигации как общий модуль, экспортировал navbar
и импортировал общий модуль как в модуль app.module, так и в модуль панели мониторинга.
так работает маршрутизация для app.module
const routes: Routes = [
{
path: '',
component: HomeComponent
},
{
path: 'tours',
loadChildren: './dashboard/dashboard.module#DashboardModule'
},
{
path: '**',
redirectTo: ''
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
и это для загруженного модуля
const routes: Routes = [
{
path: '',
component: DashboardComponent,
runGuardsAndResolvers: 'always',
resolve: {
tours: PreloadGuard
}
},
{
path: 'tourDetails',
component: DetailsComponent,
runGuardsAndResolvers: 'always',
resolve: {
selectedtour: DetailsGuard
}
},
{
path: '**',
redirectTo: ''
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
выход маршрутизатора находится в appComponent и на маршруте '', он прекрасно загружает панель навигации в доме.
но как только я перехожу к '/ tours', который должен загрузить модуль lazyloaded, он регистрирует ошибку, что HomeComponent не является частью какого-либо модуля!.