Если вы решили загрузить FoodComponent
с нетерпением , как указано здесь:
@NgModule({
imports: [ CommonModule, MatTabsModule, RouterModule.forChild([
//...
{ path: 'food', component: FoodComponent, data: { label: 'Food' } }, //<-- this
//....
export class HeaderModule { }
Нет никаких причин для конфигурации маршрутизатора в header.module.ts
, Таким образом, вы либо загружаете его лениво , либо просто переносите то, что вы настроили в food.module.ts
, на header.module.ts
как:
@NgModule({
imports: [ CommonModule, MatTabsModule, RouterModule.forChild([
{ path: '', component: HeaderComponent, children: [
{ path: '', redirectTo: 'home' },
{ path: 'home', component: HomeComponent, data: { label: 'Home' } },
{ path: 'food', component: FoodComponent, data: { label: 'Food' }, children: [
{ path: '', redirectTo: 'cheese' },
{ path: 'cheese', component: CheeseComponent, data: { label: 'Cheese' } },
{ path: 'chicken', component: ChickenComponent, data: { label: 'Chicken' } },
] }
] }
]) ],
declarations: [ HeaderComponent, HomeComponent, FoodComponent, CheeseComponent, ChickenComponent ]
})
export class HeaderModule { }
PS: Не забудьте импортировать соответствующие компоненты + в вашем коде есть и другие мелкие исправления, о которых я не упомянул, @ Akhil подчеркнул некоторые из них.