使路由器链路在两条不同的路由上激活

时间:2018-01-26 17:40:46

标签: angular

在angular中我如何在两条不同的路由上建立routerlink active。即。

<li routerLinkActive="active"><a routerLink="dashboard">Dashboard</a></li>
当&#34;仪表板&#34;时,

将具有样式active是路线。有没有办法让相同的链接在不同的网址时被设置为活动的,例如&#34;家&#34;还有吗?

1 个答案:

答案 0 :(得分:1)

所以我找到了一个想要做同样事情的人的解决方案。我无法保证它是最有效的解决方案。我使用路由器检查url路径,如下所示:

isDashboard: boolean;
ngOnInit() {
    this.router.events.filter(event => event instanceof NavigationEnd)
        .subscribe((event: NavigationEnd) => {
            if(event.url.includes('home')) {
                this.isDashboard = true;
            }
            else this.isDashboard = false;
        });
}

然后在我添加[class.active]="isDashboard"的链接上,只留下他们在我的问题链接中的属性(你可以在这里添加你喜欢的任何链接)。完成工作,但我一直在寻找一个不太强烈的解决方案,最好只能在DOM中实现。