我的导航栏包含 3 个项目:2 个元素<li>和<a>一个下拉 btn 组。当遵循导航链接下拉选项之一时,我想突出显示下拉切换按钮。这是我的代码:
<ul class="navbar-nav mx-auto h-100 navigation-items">
<li class="nav-item active">
<a
[routerLink]="['/app', 'tab1']"
routerLinkActive="active-link"
class="nav-link h-100"
>Tab1</a
>
</li>
<div class="btn-group dropdown" dropdown>
<button
class="btn btn-link nav-link h-100 dropdown-toggle"
id="button-basic"
dropdownToggle
type="button"
--> routerLinkActive="active-link" <--- Doesn't work
>
Dropdown
<fa-icon [icon]="faChevronDown" size="xs"></fa-icon>
</button>
<ul
id="dropdown-basic"
*dropdownMenu
class="dropdown-menu main-nav"
role="menu"
aria-labelledby="button-basic"
>
<li role="menuitem">
<a
class="dropdown-item"
[routerLink]="['/app', 'tab2', 'link1']"
routerLinkActive="active-link"
>Link1
</a>
</li>
<li role="menuitem">
<a
class="dropdown-item"
data-letter=""
[routerLink]="['/app', 'tab2', 'link2']"
routerLinkActive="active-link"
>Link2
</a>
</li>
<li role="menuitem">
<a
class="dropdown-item"
[routerLink]="['/app', 'tab2', 'link3']"
routerLinkActive="active-link"
>Link3
</a>
</li>
</ul>
</div>
我想根据下拉菜单项的 routerLinks 之一是否处于活动状态来更改按钮的样式。但是,由于按钮本身不包含任何路由信息,并且菜单没有自己的父页面,因此我在互联网上找到的解决方案对我来说还不起作用。
正如您所看到的,简单地将 routerLinkActive="active-link" 添加到按钮元素是行不通的。
添加routerLinkActive="active-link" [routerLinkActiveOptions]="{exact: true}"
到父 btn-group 可以工作,但不能帮助我动态设置按钮本身的样式。(来源: https: //angular.io/api/router/RouterLinkActive)
目前,RouterLinkActive 样式在<li> nav-item
元素和下拉项上运行良好。我只想将其添加到<button>
元素中。
有人知道解决方法吗?或者我应该接受不可能使用 RouterLinkActive 直接设置按钮样式?
如果您需要进一步说明或我的 .scss 文件,请评论..
慕少森
相关分类