嗨,我有以下html代码
<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>而路径是
{
path: "myFirstLink/:param",
loadChildren: ".....
}那么当我们使用jquery单击myFirstLink时,如何为我的第二个选项卡添加类活动呢?我的代码不起作用。
发布于 2018-11-07 13:23:01
只有当您尝试路由任何组件时,routerLinkActive才能工作--我看不出您要通过单击第二个选项卡来路由到任何组件,所以从其中删除routerLinkActive
当您单击其子选项卡时,动态地将active添加到第二个选项卡--我将告诉您要动态添加的解决方案--您需要知道何时单击子选项卡,因此将(click)事件绑定到其子选项卡。
`<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,当单击子组件时,它将成为现实,最后将此属性添加到父选项卡中。
<li [class.active]="addClass"><a class="pointer">my second tab</a>希望这会奏效--如果没有选择,将addClass属性更改为false --这不是一种正式的工作方式,但似乎是一种解决办法。
编码愉快!!
发布于 2018-11-07 13:05:38
因此,如果在子活动时需要将活动设置为父级,则[routerLink]="['/home']"更改为[routerLink]="['/myFirstLink']"。
https://stackoverflow.com/questions/53189948
复制相似问题