【问题标题】:Angular - Route Params for child routesAngular - 子路由的路由参数
【发布时间】:2018-10-19 11:47:34
【问题描述】:

我有以下路由配置。如何从项目编辑组件内部访问父路由中看到的 :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'];
});

不幸的是,这不再有效。

【问题讨论】:

  • 详细说明您的问题。
  • 嘿@SunilSingh - 我已经更新了这个问题。希望这更准确,更清晰。

标签: angular angular-routing routeparams


【解决方案1】:

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

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

【讨论】:

  • 这有点尴尬......对此感到抱歉。谢谢哈哈!
【解决方案2】:

可以在父组件中提取projectId,使用@Input传递给两个子组件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-06
    • 1970-01-01
    • 2016-09-21
    • 2016-11-25
    • 2018-10-06
    • 1970-01-01
    • 1970-01-01
    • 2016-10-28
    相关资源
    最近更新 更多