首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个路由的routerLinkActive

多个路由的routerLinkActive
EN

Stack Overflow用户
提问于 2018-07-22 21:01:24
回答 2查看 2.7K关注 0票数 1

我想要将'active‘类应用于我的标题导航栏。它与标准routerLinkActive一起工作得很好,但有一个问题。一些<li>元素有两种情况使它们处于活动状态。

我有[/something/inboxes][/something/details/:Id],我希望这两个路由的something选项卡处于活动状态

这是我的代码:

代码语言:javascript
复制
  <li [routerLinkActive]="['active']">
    <a [routerLink]="['/something/inboxes']">something</a>
  </li>

请注意,收件箱和详细信息是完全不同的组件。

我的问题是,有没有比使用[ngClass]更好、更简单的方法

EN

回答 2

Stack Overflow用户

发布于 2018-07-22 21:38:58

我认为这个答案可能会有帮助:Angular4 - Is routerLinkActive only works on the same html tag?

票数 0
EN

Stack Overflow用户

发布于 2018-07-23 01:37:02

我也遇到过类似的问题。我希望所有子路由的链接都是活动的。我是这样解决的: HTML:

代码语言:javascript
复制
<a class="{YOUR CLASS}" routerLink="/{my link}/test" [class.selected]="isActive('{my link}')"><a>

如果您有不同链接活动类,请使用class.my- active - link -class

TS:

代码语言:javascript
复制
 public isActive(url): boolean {
      return this.router.url.includes(url);
    } 

您可以扩展isActive方法以接受urls数组。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51465399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档