'Angular Bootstrap Navigation unable to switch between nav-tabs

I'm using bootstrap navigation in angular application as shown in below HTML

<div class="container">
<ul class="nav nav-tabs" id="myTab" role="tablist">
    <li class="nav-item">
      <a class="nav-link active" id="test-tab" data-toggle="tab" href="#" routerLink="/test" role="tab" aria-controls="home" aria-selected="true">Test</a>
    </li>
    <li class="nav-item">
      <a class="nav-link " id="viral-tab" data-toggle="tab" href="#" routerLink="/viral"  role="tab" aria-controls="profile" aria-selected="false">Viral</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" id="user-tab" data-toggle="tab" href="#" routerLink="/user/{{username}}" role="tab" aria-controls="contact" aria-selected="false">User</a>
    </li>
   
  </ul>
  <div class="tab-content" id="myTabContent">
    <div class="tab-pane fade show active" id="test" role="tabpanel"  aria-labelledby="test-tab">
    
    </div>
    <div class="tab-pane fade" id="viral" role="tabpanel" aria-labelledby="viral-tab"></div>
    <div class="tab-pane fade" id="user" role="tabpanel" aria-labelledby="user-tab">
       
    </div>
  </div>
  </div>

enter image description here

I'm not able to switch between different nav tabs , it is always the "test-tab"which is active. How can I switch between different nav-tabs.?



Solution 1:[1]

Try to use routerLinkActive for setting the active class. I have modified your code and removed href attribute since it can cause trouble when not used for navigating.

<div class="container">
<ul class="nav nav-tabs" id="myTab" role="tablist">
    <li class="nav-item">
      <a class="nav-link" id="test-tab" data-toggle="tab" routerLinkActive="active" routerLink="/test"  role="tab" aria-controls="home" aria-selected="true">Test</a>
    </li>
    <li class="nav-item">
      <a class="nav-link " id="viral-tab" data-toggle="tab" routerLinkActive="active" routerLink="/viral"  role="tab" aria-controls="profile" aria-selected="false">Viral</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" id="user-tab" data-toggle="tab" routerLinkActive="active" routerLink="/user/{{username}}" role="tab" aria-controls="contact" aria-selected="false">User</a>
    </li>
   
  </ul>
  <div class="tab-content" id="myTabContent">
    <div class="tab-pane fade show active" id="test" role="tabpanel"  aria-labelledby="test-tab">
    
    </div>
    <div class="tab-pane fade" id="viral" role="tabpanel" aria-labelledby="viral-tab"></div>
    <div class="tab-pane fade" id="user" role="tabpanel" aria-labelledby="user-tab">
       
    </div>
  </div>
  </div>

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 MikkelDalby