Angular-子路线的路线参数

时间:2018-10-19 11:47:34

标签: angular angular-routing routeparams

我具有以下路由配置。

如何从项目编辑组件内部访问在父路径中看到的:projectId
 {
        path: 'folders/:folderId/projects/:projectId/s',
        component: ProjectDetailComponent,
        canActivate: [AuthGuardService],
        children: [
            {
                path: 'edit',
                component: ProjectEditComponent,
                canActivate: [AuthGuardService],
            },
            {
                path: 'i',
                component: IssuesListComponent,
                canActivate: [AuthGuardService],
            },
        ],        
    },

当我没有子路线时,我曾经使用过这种方法:

this.activatedRoute.params.subscribe((urlParameters) => {
  this.project_id = urlParameters['projectId'];
});

不幸的是,这不再起作用。

2 个答案:

答案 0 :(得分:0)

您应该可以使用ActivatedRoute parent属性来访问父路线参数:

this.activatedRoute.parent.params.subscribe((urlParameters) => {
  this.project_id = urlParameters['projectId'];
});

答案 1 :(得分:0)

您可以使用@Input

在父组件中提取projectId并将其传递给两个子组件。