Я нахожусь на моем телефоне, поэтому простите за любые ошибки форматирования, я отредактирую это позже.
Если я правильно понял, вы сможете достичь желаемого с помощью следующей конфигурации маршрута:
const routes: Routes = [
{
path: 'home', component: HomeComponent, data: { },
children: [
{ path: '', redirectTo: 'user', pathMatch: 'full' },
{
path: 'user', component: UserComponent, data: { },
children: [
{ path: '', redirectTo: 'products', pathMatch: 'full' },
{ path: 'products', component: ProductsComponent, data: { }},
{path: 'products/:id', component: ProductDetail, data: { }}
]
}
]
}
]
}
];
Вам не нужно вкладывать компоненты, чтобы иметь «хороший» маршрут, вы можете создать его в свойстве path
.
Более того, если ваш HomeComponent и UserComponent являются просто выходами маршрутизатора, вы, вероятно, можете упростить все до
const routes: Routes = [
{ path: 'home/user/products', component: ProductsComponent, data: { }},
{path: 'home/user/products/:id', component: ProductDetail, data: { }}
];
А затем добавьте правильное предложение redirectTo.