Как добавить класс активной ссылки без routerLink?

Здравствуйте!

Есть меню, пункты в котором не содержат содержат routerLink, и как можно в таком случае добавить класс активного пункта меню?

Например, вот пункт:
<a class="col text-center categories-menu-item" [routerLinkActive]="['is-active']" [routerLinkActiveOptions]="{exact:
true}">
                  <span (click)="routeToDest('events/1000')">Sports</span>
                  <app-category-dropdown-list class="top-level-category"
                                              [categories]="navbarMenuItems[0]?.children"
                                              (onEntertainerSelected)="onEntertainerClicked($event)"
                                              (onNCAASelected)="onNCAAClicked($event)"
                                              [isFirstLevel]="true"
                                              (onCategorySelected)="onCategorySelected($event)"></app-category-dropdown-list>
                </a>


На выходе такая ссылка:
http://localhost:4200/events/1000?pageSize=10&pageNumber=1&radius=100&dateRange=0&fromDateTimeUtc=2021-08-05


Или вот пункт:
<a class="col text-center categories-menu-item" routerLinkActive="is-active">
                  <span (click)="routeToDest('travel-search', { queryParams: {tab: 'hotels'}})">Travel</span>
                  <app-category-dropdown-list class="top-level-category"
                                              [categories]="travelCategories"
                                              [isFirstLevel]="true"
                                              (onCategorySelected)="onCategorySelected($event)"></app-category-dropdown-list>
                </a>


Ссылка на выходе такая:
http://localhost:4200/travel-search?tab=hotels

Вот нашел routeToDest
routeToDest(dest, extras = {}) {
    this.router.onSameUrlNavigation = 'reload';
    this.router.navigate([dest], extras);
  }


Как вот таким ссылкам добавлять класс 'is-active' если страница активна?
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы