【发布时间】:2017-01-24 17:45:23
【问题描述】:
我正在使用带有 Bootstrap 4 的 Angular 2。我可以使用以下代码更改活动选项卡:
navbar.component.html
<nav class="navbar navbar-fixed-top navbar-light bg-faded">
<button class="navbar-toggler hidden-sm-up" type="button" data-toggle="collapse" data-target="#navbar">
☰
</button>
<div class="collapse navbar-toggleable-xs" id="navbar">
<div class="container">
<a class="navbar-brand" [routerLink]="['']">My App</a>
<ul class="nav navbar-nav navbar-right">
<li class="nav-item" routerLinkActive="active" [routerLinkActiveOptions]="{exact:
true}">
<a class="nav-link" [routerLink]="['']">Home<span class="sr-only">(current)</span></a>
</li>
<li class="nav-item" [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}">
<a class="nav-link" [routerLink]="['/about']">About</a>
</li>
<li class="nav-item" [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}">
<a class="nav-link" [routerLink]="['/example']">Example</a>
</li>
</ul>
</div>
</div>
</nav>
行:
[routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}"
在切换到当前活动的选项卡时效果很好,但是当我使用以下内容导航到组件时:
this.router.navigate(['']);
活动标签不会改变。有没有办法在像上面那样导航时更改活动选项卡?
【问题讨论】:
-
它应该是
routerLinkActive="active"而不是[routerLinkActive]="['active']" -
两者都有效。
-
发生了一些奇怪的事情,因为我无法重现该问题。我调用了 this.router.navigate,它为我正确地改变了课程。这是 Angular 路由器的最新版本吗?
-
你能在 plunker 中重新创建它吗?
-
我也有类似的问题。检查这个来自官方角度示例的plunker。
标签: html css angular bootstrap-4