首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角-应用样式的元素取决于兄弟RouterLinkActive?

角-应用样式的元素取决于兄弟RouterLinkActive?
EN

Stack Overflow用户
提问于 2017-06-05 19:49:08
回答 6查看 11.5K关注 0票数 10

在我的应用程序中,我没有一个菜单栏,当用户导航时,我需要被绘制,我还有另外一个组件也需要绘制。我能用routerLinkActive实现这一点吗?

menu.html

代码语言:javascript
复制
<menu>
  <a routerLink="page1" routerLinkActive="active">
      option1
  </a>
  <a routerLink="page2" routerLinkActive="active">
      option2
  </a>
</menu>

这个菜单很好用。但我要问的是,如何利用放置在其他HTML标记中的routerLinkActive属性。像这样:

main.html

代码语言:javascript
复制
<main>
    <span class="title" routerLinkActive="active">My sub child part</span>
</main>
EN

回答 6

Stack Overflow用户

发布于 2017-06-05 19:59:14

可以将routerLinkActive指令的状态绑定到是否将类应用于元素,如下所示:

代码语言:javascript
复制
<a routerLink="page1" routerLinkActive="active" #rla="routerLinkActive"/>
<span [class.active-span]="rla.isActive"></span>

.active-span {
 background-color: red;
}

#rla是一个模板变量,您可以在医生们中找到更多关于RouterLinkActive指令的用例的信息。

票数 24
EN

Stack Overflow用户

发布于 2017-06-05 19:58:02

可以将RouterLinkActive指令应用于RouterLink的祖先。

代码语言:javascript
复制
<div routerLinkActive="active-link" [routerLinkActiveOptions]="{exact: true}">
  <a routerLink="/user/jim">Jim</a>
  <a routerLink="/user/bob">Bob</a>
</div>

更多细节这里

希望这能帮上忙!

票数 15
EN

Stack Overflow用户

发布于 2020-01-27 07:46:47

您可以在父选择器上调用[class.active]="router.isActive('/parentUrlFragment',false)"以在父选择器上具有活动类。

在TS文件上:

代码语言:javascript
复制
import { Router, ActivatedRoute } from '@angular/router';
constructor(public router: Router){}

现在您可以在html中访问路由器的isActive方法;

因此,如果您有一个嵌套菜单,如:

代码语言:javascript
复制
Product
> Category 1
> Category 2

使用[class.active]="router.isActive('/product',false)"在产品选择器上选择任何类别链接都将具有活动类

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

https://stackoverflow.com/questions/44376598

复制
相关文章

相似问题

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