routerLinkActive не работает с router.navigateByUrl или навигацией - PullRequest
0 голосов
/ 12 марта 2020

Я изменяю маршрут через (click), а не [routerLink], и это не добавляет активный класс, а меняет маршрут

Мне нужно создать идентификатор на сервере, и после этого запустить this.router.navigate и активируйте ссылку в моем боковом меню

    <li
      routerLinkActive="active" 
      [routerLinkActiveOptions]="{exact: false}">
      <a
        class="nav-link"
        (click)="addNew()"
      >
      </a>
    </li>

моя функция

  addNew(): void {
    this.userService.create().subscribe(res => {
      this.router.navigateByUrl(`user/edit/${res.data.id}`);
    });
  }

В других местах меню используется [routerLink], и он работает нормально

спасибо за помощь

1 Ответ

0 голосов
/ 12 марта 2020

routerLinkActive полагается на наличие routerLink на том же хосте или на потомке, чтобы узнать, какие ссылки являются кандидатами.

Вам необходимо добавить routerLink к вашему <a> .

<li routerLinkActive="active" [routerLinkActiveOptions]="{exact: false}">
  <a routerLink="???" class="nav-link" (click)="addNew()">
  </a>
</li>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...