我正在尝试使用以下代码为菜单栏应用或突出显示导航路线,我能得到的是,我能够突出显示子菜单,但无法突出显示父菜单栏。
<li class="nav-item dropdown"><a
class="nav-link dropdown-toggle " id="navbarDropdownMenuLink"
data-toggle="dropdown" style="color: white; cursor: pointer;"
[routerLinkActive]="['class1']">Parent</a>
<div class="dropdown-menu dropdown-menu-left"
aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item"
[routerLink]="['app-child1']"
[routerLinkActive]="['class1']"
>Child 1</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item"
[routerLink]="['app-child2']"
[routerLinkActive]="['class1']"
>Child 2</a>
</div>
</li>
Css类:
.class1{
background-color: #007bff;
}
答案 0 :(得分:2)
要突出显示侧边菜单链接,只需将routerLinkActive =“ cssClassName”添加到锚元素,例如:
libblas
如果路由变为/ profile或/ profile / details,这将突出显示两个链接
在这种情况下,如果您不想在用户选择配置文件详细信息时突出显示父路由,则只需向父路由添加一个附加属性,即“ routerLinkActiveOptions”,如下所示:
<a routerLink="/profile" routerLinkActive="cssClassName">Profile</a>
<a routerLink="/profile/details" routerLinkActive="cssClassName">Profile Details</a>
这是激活后高亮显示侧边菜单链接的简单方法。
答案 1 :(得分:0)
您可以使用模板引用变量(#
)来引用routerLinkActive
及其属性,然后使用isActive
。
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle"
id="navbarDropdownMenuLink"
data-toggle="dropdown"
style="color: white; cursor: pointer;"
[ngClass]="{'class1': child1RLA.isActive || child2RLA.isActive}"> <!-- <-- Check if child routes are active -->
Parent
</a>
<div class="dropdown-menu dropdown-menu-left"
aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item"
[routerLink]="['app-child1']"
[routerLinkActive]="['class1']"
#child1RLA="routerLinkActive"> <!-- <-- Assign routerLinkActive reference to child1RLA variable -->
Child 1
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item"
[routerLink]="['app-child2']"
[routerLinkActive]="['class1']"
#child2RLA="routerLinkActive"> <!-- <-- Assign routerLinkActive reference to child2RLA variable -->
Child 2
</a>
</div>
</div>
</li>
答案 2 :(得分:0)
只需将routerLinkActive放在父元素上,如下所示:https://angular.io/api/router/RouterLinkActive#description
<div routerLinkActive="active-link" [routerLinkActiveOptions]="{exact: true}">
<a routerLink="/user/jim">Jim</a>
<a routerLink="/user/bob">Bob</a>
</div>