如何在Angular 2中设置Bootstrap navbar "active"类?我只找到Angular 1 way .
当我转到 About 页面时,将 class="active"
添加到 About ,然后删除 Home 上的 class="active"
.
<ul class="nav navbar-nav">
<li class="active"><a [routerLink]="['Home']">Home</a></li>
<li><a [routerLink]="['About']">About</a></li></li>
</ul>
谢谢
10 回答
这样做(使用RC5)
在RC2上,对我不起作用 . 我最终使用了
并在跟踪它的代码中
在“@ angular / router”:“^ 3.3.1”中,先前版本的差异是routerLinkActive中的括号
在最终版本中,ng2会抱怨所以只需删除支架即可
如果您使用新的3.0.0 . 组件路由器(https://github.com/angular/vladivostok)您可以使用 routerLinkActive 指令 . 无需进一步的javascript .
我使用了“@ angular / router”:“^ 3.0.0-alpha.7”
Bert Deterd的答案是正确的,但有一件事可以补充 .
如果一个路由是另一个路由的子字符串,您将看到类似的事情发生:2 active anchors
您可以添加此选项以使其仅与精确路线匹配:
完整示例:
对于最新版本的Angular2 RC4,以下简单代码有效:
使用"@angular/router"中的import ;并将路由器放在构造函数中 .
使用Router类中的
isRouteActive
和generate
.根据文件:
和
版本 "@angular/router": "^3.3.1"
我简单地说出了我在app.route.ts中声明的路线名称
在视图中,我只写了路线的名称