Angular - 子路由的路由参数
Angular - Route Params for child routes
我有以下路由配置。如何从项目编辑组件内部访问在父路由中看到的 :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'];
});
不幸的是,这不再有效。
您应该可以使用 ActivatedRoute parent 属性:
访问父路由参数
this.activatedRoute.parent.params.subscribe((urlParameters) => {
this.project_id = urlParameters['projectId'];
});
可以提取父组件中的projectId,通过@Input
传给两个子组件
我有以下路由配置。如何从项目编辑组件内部访问在父路由中看到的 :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'];
});
不幸的是,这不再有效。
您应该可以使用 ActivatedRoute parent 属性:
访问父路由参数this.activatedRoute.parent.params.subscribe((urlParameters) => {
this.project_id = urlParameters['projectId'];
});
可以提取父组件中的projectId,通过@Input
传给两个子组件