TL; DR
Настройте маршрут Component 3
и Component 4
как дочерние элементы Component2
, а затем удалите [routerLinkActiveOptions]="{ exact: true }"
из вашего routerlink
, связанного с Component2
.
Описание
Я думаю, вы уже знаете ответ, ключ routerLinkActiveOptions
.
Сначала настройте свой маршрут так:
RouterModule.forRoot([
{ path: '', component: HomeComponent, pathMatch: 'full'},
{ path: '/link/to/one', component: Component1 },
{ path: '/another/link/to/component', component: Component2, children: [
{ path: '/component3', component: Component3 },
{ path: '/component4', component: Component4 },
],
},
])
Затем измените routerLinkActiveOptions
До:
<a class="nav-link text-white" [routerLink]='["/another/link/to/component"]' routerLinkActive="aLink" [routerLinkActiveOptions]="{ exact: true }">Component 2</a
После того, как:
<a class="nav-link text-white" [routerLink]='["/another/link/to/component"]' routerLinkActive="aLink" [routerLinkActiveOptions]="{ exact: false }">Component 2</a
Разница составляет [routerLinkActiveOptions]="{ exact: false }"
.
Однако значение по умолчанию routerLinkActiveOptions.exact
равно false
, так же как и при удалении routerLinkActiveOptions
.
<a class="nav-link text-white" [routerLink]='["/another/link/to/component"]' routerLinkActive="aLink">Component 2</a