首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当子路由器链路在角5中单击时如何为父级添加活动类

当子路由器链路在角5中单击时如何为父级添加活动类
EN

Stack Overflow用户
提问于 2018-11-07 12:59:41
回答 2查看 6.3K关注 0票数 2

嗨,我有以下html代码

代码语言:javascript
复制
    <li class="" routerLinkActive="active" [routerLinkActiveOptions]="{exact:true}"><a [routerLink]="['/home']">my first tab</a></li>


        <li [class.active]="rla?.isActive"  routerLinkActive="active"><a class="pointer">my second tab</a>

                    <ul>
                        <li class="" #rla="routerLinkActive" routerLinkActive="active" ><a [routerLink]="['/myFirstLink','rock']">Past</a></li>
                        <li class="" #rla="routerLinkActive" routerLinkActive="active" ><a [routerLink]="['/myFirstLink','aj']">Upcoming</a></li>
                    </ul> 

     </li>
</li>

而路径是

代码语言:javascript
复制
{
        path: "myFirstLink/:param",
        loadChildren: ".....
}

那么当我们使用jquery单击myFirstLink时,如何为我的第二个选项卡添加类活动呢?我的代码不起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-07 13:23:01

只有当您尝试路由任何组件时,routerLinkActive才能工作--我看不出您要通过单击第二个选项卡来路由到任何组件,所以从其中删除routerLinkActive

当您单击其子选项卡时,动态地将active添加到第二个选项卡--我将告诉您要动态添加的解决方案--您需要知道何时单击子选项卡,因此将(click)事件绑定到其子选项卡。

代码语言:javascript
复制
`<li routerLinkActive="active" >
   <a [routerLink]="['/myFirstLink','rock']" (click)='addClass = true'>Past</a>
</li>
<li routerLinkActive="active">
   <a [routerLink]="['/myFirstLink','aj']" (click)='addClass = true'>Upcoming</a>
</li>`

addClass将是component.ts中的属性,值为false,当单击子组件时,它将成为现实,最后将此属性添加到父选项卡中。

代码语言:javascript
复制
<li [class.active]="addClass"><a class="pointer">my second tab</a>

希望这会奏效--如果没有选择,将addClass属性更改为false --这不是一种正式的工作方式,但似乎是一种解决办法。

编码愉快!!

票数 2
EN

Stack Overflow用户

发布于 2018-11-07 13:05:38

因此,如果在子活动时需要将活动设置为父级,则[routerLink]="['/home']"更改为[routerLink]="['/myFirstLink']"

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

https://stackoverflow.com/questions/53189948

复制
相关文章

相似问题

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