У меня угловой 4 проект со следующей структурой:
src
|- app
| |- home
| | |- home.component.ts/html/scss
| | |- home.module.ts
| | |- home.routing.ts
| | |- products
| | | |- products.component.ts/html/scss
|- app.component.ts/html/scss
|- app-routing.module.ts
|- app.module.ts
Мой app.routing.module.ts
файл содержит следующее:
const routes: Route[] = [
{
path: "home", component: HomeComponent, canActivate: [AppAuthGuard]
},
{
path: '', redirectTo: AppConstants.ROUTE_LOGIN, pathMatch: 'full'
}
];
@NgModule({
imports: [RouterModule.forRoot(routes, {useHash: false})],
exports: [RouterModule]
})
export class AppRoutingModule {
}
и home.routing.ts
содержит следующие дочерние маршруты:
{
path: "home",
component: HomeComponent,
children: [
{
path: '',
pathMatch: 'full',
component: HomeStatsComponent
},
{
path: 'products',
children: [
{
path: '',
pathMatch: 'full',
component: ProductsComponent
}
{
path: 'add',
component: AddProductComponent
}
]
},
]
}
В home.module.ts дочерние маршруты были импортированы с использованием RouterModule.forChild(HomeRoutes)
. И есть выход маршрутизатора для дочерних маршрутов в home.component.html. Все маршруты, кроме дочернего маршрута по умолчанию (http://localhost:4200/home
), работают успешно (http://localhost:4200/home/products
работает нормально). http://localhost:4200/home
не выдает ошибок, просто показывает пустое пространство, потому что розетка маршрутизатора пуста. Но если я определяю дочерний маршрут по умолчанию домашнего компонента в app.module.ts
, он работает нормально. Что я сделал не так, чтобы он не работал?