在Angular 4中更改所选链接的颜色

3
我用Bootstrap 4制作了一个标题,但是我希望当我单击任何链接时,链接会更改其颜色并保持选中状态。
<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>

我不知道接下来该怎么做,我不想使用jquery。
请帮助我。

2
看一下RouterLinkActive指令,那应该可以达到你需要的效果。 - user184994
2个回答

9
您可以使用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>
.class-name{
    color:red;
    ...
}

4
您应该使用 RouterLinkActive
<a class="nav-link" routerLink="/experience" 
   routerLinkActive="YourClass" routerLinkActiveOptions="{exact:true}">
    Experience
</a>

routerLinkActive - 分配你的类。
routerLinkActiveOptions="{exact:true}" - 当匹配精确链接时添加类。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接