首页 > 解决方案 > 如何为所有孩子使用激活的路由器链接

问题描述

我有带有嵌套路由的侧面导航。我在导航栏中单击第一个按钮时,它会转到doctors/doctors-list路由器链接活动完美地工作。但是我有其他子路由器,例如doctors/creatdoctors/update:id当我要去那些路由时,我的路由器链接没有按预期激活。我的应用程序结构是当用户第一次点击医生按钮时,doctors/doctors-list 当用户从列表中选择医生时,路由将更改为“医生/更新:id”。如何解决这个问题

<a  routerLink="doctors/doctors-list" routerLinkActive="active"></a>

我的路线配置

{
        path: 'doctors',
        component: DoctorsHomeComponent,
        children: [
        {
            path: 'doctors-list',
            component: DoctorsComponent,
        },
        {
            path: 'doctors/creat',
            component: DoctorsPageComponent,
        },
        {
            path: 'update-doctor/:id',
            component: DoctorsPageComponent,
        }

        ]

    }

标签: javascriptnode.jsangulartypescriptsingle-page-application

解决方案


你试试这个

@Component

import { Router } from '@angular/router';``

constructor(public router: Router) {}

isdoctorsActive(exact) {
    return this.router.isActive('doctors/', exact);
}

@html
<a  routerLink="doctors/doctors-list" [ngClass]="{'active': isdoctorsActive(false)}"></a>

推荐阅读