Angular 2获得父激活路由

4 typescript angular angular-router angular-activatedroute

我有一条路线孩子这样的路线:

{
    path: 'dashboard',
    children: [{
        path: '',
        canActivate: [CanActivateAuthGuard],
        component: DashboardComponent
    }, {
        path: 'wage-types',
        component: WageTypesComponent
    }]
}
Run Code Online (Sandbox Code Playgroud)

在浏览器中我想获得激活的父路线

host.com/dashboard/wage-types
Run Code Online (Sandbox Code Playgroud)

如何/dashboard使用Angular 2而不是JavaScript,但我也可以接受JavaScript代码,但主要是Angular 2.

pep*_*ght 11

您可以通过使用ActivatedRoute上的父属性来执行此操作 - 类似这样.

export class MyComponent implement OnInit {

    constructor(private activatedRoute: ActivatedRoute) {}

    ngOnInit() {
        this.activatedRoute.parent.url.subscribe((urlPath) => {
            const url = urlPath[urlPath.length - 1].path;
        })
    }

}
Run Code Online (Sandbox Code Playgroud)

您可以在此处更详细地查看ActivatedRoute中的所有内容:https: //angular.io/api/router/ActivatedRoute

  • 是的,但是这给了我一个数组,如何过滤才能获得/仪表板? (2认同)