Я пытаюсь применить активный класс к моему маршруту, используя собственную логику, routerLinkActive
по какой-то причине не работает (возможно, мой родительский и дочерний маршруты динамические).Вот код:
<ul class="navbar-nav">
<li class="nav-item eds-service"
*ngFor="let service of services"
[routerLink]="['', _dataService.flavor, service]"
[ngClass]="{'active': _urlService.getCurrentService() === service}"
(click)="changeService(service)">
{{ service | readableName | titlecase }}
</li>
</ul>
Мой файл маршрутизации выглядит следующим образом:
{ path: ':flavor', component: ComparePageComponent },
{ path: ':flavor/:service', component: ComparePageComponent }
Когда я загружаю страницу, я получаю следующую ошибку:
ServicesComponent.html: 10 Ошибка: ExpressionChangedAfterItHasBeenCheckedError: Выражение изменилось после его проверки.Предыдущее значение: 'active: false'.Текущее значение: 'active: true'.
Я пытался использовать AfterViewInit
, AfterViewChecked
, но безрезультатно.
Куда я иду не так?