Change color of selected link in angular 4 [duplicate]

血红的双手。 提交于 2021-02-10 06:47:57

问题


I made a header using bootstrap 4 but I want that when I click on any link, link change its color and remains selected.

<nav>
    <div class="collapse navbar-collapse justify-content-end" id="nav-content">
        <ul class="navbar-nav" id="nav">
          <li class="nav-item">
            <a class="nav-link" routerLink="">About</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" routerLink="/experience">Experience</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" routerLink="/skills">Skills</a>
          </li>
        <ul>
     <div>
<nav>

I don't know what to do next, I don't want to use jquery.

Please help me.


回答1:


You can use routerLinkActive

.html file
<nav>
    <div class="collapse navbar-collapse justify-content-end" id="nav-content">
        <ul class="navbar-nav" id="nav">
          <li class="nav-item">
            <a class="nav-link" routerLink="" routerLinkActive="class-name" routerLinkActiveOptions="{exact:true}">About</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" routerLink="/experience" routerLinkActive="class-name" routerLinkActiveOptions="{exact:true}">Experience</a>
          </li>
          <li class="nav-item">
            <a class="nav-link" routerLink="/skills" routerLinkActive="class-name" routerLinkActiveOptions="{exact:true}">Skills</a>
          </li>
        <ul>
     <div>
<nav>

.css/.scss file

.class-name{
    color:red;
    ...
}



回答2:


You should use RouterLinkActive

<a class="nav-link" routerLink="/experience" 
   routerLinkActive="YourClass" routerLinkActiveOptions="{exact:true}">
    Experience
</a>

routerLinkActive - Assign your class.
routerLinkActiveOptions="{exact:true}" - add the class when match the exact link



来源:https://stackoverflow.com/questions/51919031/change-color-of-selected-link-in-angular-4

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!