如何在 Angular 11 中访问两个父级的路由参数?

Posted

技术标签:

【中文标题】如何在 Angular 11 中访问两个父级的路由参数?【英文标题】:How can I acces a route parameter two parents up in Angular 11? 【发布时间】:2021-05-14 11:43:52 【问题描述】:

我想知道如何以角度访问杠杆两条父路线。例如:如果我使用以下路由,如何在 AttributeListComponent 中获取 componentId

const routes: Routes = [
  path: '', redirectTo: '/components', pathMatch: 'full',
  path: 'components', component: SideNavComponent,
    children: [
      path: ':componentId', component: ComponentTabComponent, children: [
          path: '', redirectTo: 'entities', pathMatch: 'full',
          path: 'entities', component: EntityListComponent, children: [
              path: ':entityId', component: EntityTabComponent,
                children: [
                  path: '', redirectTo: 'attributes', pathMatch: 'full',
                  path: 'attributes', component: AttributeListComponent,
                  path: 'tasks', component: TaskListComponent
                ]
            ],
          path: 'domains', component: DomainListComponent
        ],
    ],
   path: '**', component: PageNotFoundComponent 
];

【问题讨论】:

举例说明你如何/为什么要使用这个想法。 【参考方案1】:

您可以使用parent 属性向上遍历路由器树。示例:

  constructor(private route: ActivatedRoute) 
  ...
  this.route.parent.parent.parent.queryParams.subscribe(...

计算您自己需要多少parent :)。这取决于您在路由文件中有多少 children

【讨论】:

谢谢!我没找到。

以上是关于如何在 Angular 11 中访问两个父级的路由参数?的主要内容,如果未能解决你的问题,请参考以下文章

在父级的 ngOnDestroy 之后未调用 Angular ngOnChanges

获取父级的高度

Java - 为啥另一个包中的子级无法通过父级引用访问父级的受保护方法?

如何在 Oracle 11g 中查找给定父级的所有子 ID

如何以样式访问控件父级的属性

如何从UserControl访问父级的DataContext