Ответ 1
Попробуйте установить [routerLinkActiveOptions]="{exact: true}"
в HTML, как показано ниже:
<ul class="nav nav-tabs">
<li role="presentation" routerLinkActive="active" [routerLinkActiveOptions]="{exact: true}"><a [routerLink]="['/']">Home</a></li>
<li role="presentation" routerLinkActive="active"><a [routerLink]="['/about']">About</a></li>
<li role="presentation" routerLinkActive="active"><a [routerLink]="['/contact']" >Contact Us</a></li>
</ul>
Как это работает?
он работает, потому что для 1-го URL-адреса url будет "localhost: 8080/", а для URL-адреса второй ссылки "localhost: 8080/about", и если для 1-й ссылки, если вы не добавляете routerLinkActiveOptions, то при посещении localhost: 8080/о странице, то он также будет соответствовать начальному URL-адресу "localhost: 8080/", и из-за этого он устанавливает активный класс по первой ссылке. вам нужно установить routerLinkActiveOptions только для тех URL, для которых вы хотите, чтобы URL-адрес соответствовал ссылке точно