将活动类添加到角度 4 中的路由器链路



我想在更改路线时添加一个活动类。 我在一个组件(主页(中有一个链接,该链接重定向到另一个组件(详细信息页面(。

<a routerLink="/dashboard/details" (click)="Clicked()"</a>

现在,当我从详细信息页面返回到主页时,我希望有一个链接处于活动状态,告诉用户此链接已被单击。

我尝试使用routerLinkActive,但这似乎不起作用。

.html

<a routerLink="/dashboard/details" routerLinkActive="active-link" (click)="Clicked()"</a>

.css

.active-link {
color:red;
font-weight: bold;
}

谁能帮我解决这个问题?

为什么不在点击事件中添加类名。 试试这个。

<a routerLink="/dashboard/details" [ngClass]="{'active-link':clicked}" routerLinkActive="active-link" (click)="Clicked()"</a>

在 .ts 文件中

clicked: boolean = false;
Clicked() {
this.clicked = true;
}

[routerLinkActiveOptions]="{ exact: true } 你已经把这个放在它的工作旁边

解决方案:

  1. 可以使用localStorage来存储点击的链接的信息。
  2. 可以使用路由器queryParams来存储信息。 使用以下ActivatedRoutes捕获信息:

    this.route.queryParamMap.subscribe( params => { this.enableCard = JSON.parse(params.get('enableCard')); })

不是最好的解决方案,而是解决方法。

最新更新