Есть ли способ выполнить sh такой подход без дублирования кода для свойства children
?
const routes: Routes = [
{
path: '', component: SmartSearchComponent, canActivate: [AuthGuard],
canActivateChild: [AuthGuard],
children: [
{path: '', redirectTo: 'home', pathMatch: 'full'},
{path: 'home', component: HomeComponent},
{
path: 'member-profile/:mcid',
component: MemberProfileComponent,
children: [
{path: '', redirectTo: 'member-info', pathMatch: 'full'},
{path: 'member-info', pathMatch: 'full', component: MemberInfoComponent},
{path: 'id-cards', component: IdCardsComponent},
{path: 'register-family-members', component: RegisteredFamilyMembersComponent},
{path: 'associate-caregivers', component: AssociateCaregiversComponent},
{path: 'member-preferences', component: MemberPreferencesComponent},
{path: 'two-fa-info', component: TwofaInfoComponent},
{path: 'coverage/:hcid', component: CoverageComponent},
]
},
{
path: 'member-profile/:mcid/:hcid',
component: MemberProfileComponent,
children: [
{path: '', redirectTo: 'member-info', pathMatch: 'full'},
{path: 'member-info', pathMatch: 'full', component: MemberInfoComponent},
{path: 'id-cards', component: IdCardsComponent},
{path: 'register-family-members', component: RegisteredFamilyMembersComponent},
{path: 'associate-caregivers', component: AssociateCaregiversComponent},
{path: 'member-preferences', component: MemberPreferencesComponent},
{path: 'two-fa-info', component: TwofaInfoComponent},
{path: 'coverage/:hcid', component: CoverageComponent},
]
}
]
}
];
У меня есть дублирование кода для маршрутов member-profile/:mcid
и member-profile/:mcid/:hcid
, которые я не совсем нравится Я пытался создать функцию, которая создала бы эти 2 объекта, но Angular жалуется, что у меня не может быть методов в шаблонах.
Если я использую маршрут как member-profile/:mcid/:hcid?
, он тоже не будет работать.
Есть ли лучший подход к этому?