我有一个侧边栏,如果im在屏幕上的第一个标签上,则该边栏将保持活动状态;如果我切换到第二个标签,则网址会更改,并且侧边栏标签将不会处于活动状态。 这怎么解决。请帮忙。
HTML:
侧面条形码:
<a routerLink="/my-health/my-health-history" [ngClass] = "{'active' : true}" routerLinkActive="active-link" [routerLinkActiveOptions]="{exact: true}" class="list-group-item list-group-item-action justify-content-between"
id="nav-link-1" aria-haspopup="true" aria-expanded="false" aria-controls="nav-submenu-1">
<span><i class="icon-heart g-pos-rel g-top-1 g-mr-8"></i>{{ 'DashboardModule.MYHEALTH' | translate }}
</span>
</a>
通过单击侧边栏链接将Tab标签重定向到页面:
<div class="myhealth mt7">
<ul class="nav nav-tabs menu">
<li>
<a class="active-link" routerLink="/my-health/my-health-history" routerLinkActive="active-link"
[routerLinkActiveOptions]="{exact: true}">myHealthHistory
</a>
</li>
<li>
<a routerLink="/my-health/my-lifestyle" routerLinkActive="active-link" [routerLinkActiveOptions]="{exact: true}">myLifeStyle
</a>
</li>
<li>
<a routerLink="/my-health/my-family-health-history" routerLinkActive="active-link" [routerLinkActiveOptions]="{exact: true}">myFamilyHistory
</a>
</li>
</ul>
</div>
如果我在“ myHealth历史记录”选项卡中,则侧边栏将处于活动状态,如果我移至其他2个选项卡,则侧边栏将不会处于活动状态
答案 0 :(得分:0)
在标记中使用[ngClass] = "{'active' : true}"
。
答案 1 :(得分:0)
条件是:
根据选项卡的更改来区别您当前的URL。
答案 2 :(得分:0)
您可以在侧边栏组件中检查当前的活动链接。
<a routerLinkActive="active-link" [ngClass]="{'active-link': isActive()}" class="list-group-item list-group-item-action justify-content-between"
id="nav-link-1" aria-haspopup="true" aria-expanded="false" aria-controls="nav-submenu-1">
<span><i class="icon-heart g-pos-rel g-top-1 g-mr-8"></i>{{ 'DashboardModule.MYHEALTH' | translate }}
</span>
</a>
constructor(private router:Router) {
}
isActive(){
return ["/my-health/my-health-history","/my-health/my-lifestyle","/my-health/my-family-health-history"].includes(this.router.url);
}
注意:该代码直接写到Stackoverflow编辑器中,因此可能存在拼写错误或语法错误。请纠正自己。