Angular - 根据兄弟 RouterLinkActive 将样式应用于元素?

标签 angular angular-routing angular-directive angular-routerlink

我的应用程序中不仅有一个菜单栏需要在用户导航时绘制,我还有另一个组件也需要绘制。我可以仅使用 routerLinkActive 来实现吗?

menu.html

<menu>
  <a routerLink="page1" routerLinkActive="active">
      option1
  </a>
  <a routerLink="page2" routerLinkActive="active">
      option2
  </a>
</menu>

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

ma​​in.html

<main>
    <span class="title" routerLinkActive="active">My sub child part</span>
</main>

最佳答案

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

<a routerLink="page1" routerLinkActive="active" #rla="routerLinkActive"/>
<span [class.active-span]="rla.isActive"></span>

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

#rla 是一个模板变量 您可以在 the docs 中找到有关此 RouterLinkActive 指令用例的更多信息

关于Angular - 根据兄弟 RouterLinkActive 将样式应用于元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44376598/

相关文章:

Angular 路由器 : Get route config that matched the current route

javascript - 当有过滤器时,如何在 ngRepeat 中获取集合的长度?

javascript - 'this' 绑定(bind)到订阅函数而不是 Angular2 中的外部组件范围

angular - 在 Angular 2 中解析应用程序组件的正确方法

angular - 无法找到元素的可测试性 - Protractor

javascript - AngularJS redirectTo 没有找到正确的路径

angularjs - Angular 局部 View 缓存

Angular 在使用指令时给出@angular/core 404 not found 错误

javascript - 何时以及为何使用 &?、=?、@?在 AngularJS 中?

angular - 如何清除 Angular (5+) Renderer2 中所有子项的元素?