首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular 7组件交互设计

Angular 7组件交互设计
EN

Stack Overflow用户
提问于 2019-08-09 17:21:54
回答 1查看 41关注 0票数 1

angular应用程序包含以下组件:

通过URL加载并具有FirstId的FirstComponent

FirstComponent的子类ChildComponent。ChildComponent通过路由器加载SecondComponent。

SecondComponent是通过路由器加载的,并且具有SecondId。

如果在SecondComponent中有一个按钮点击,并且SecondComponent是由ChildComponent在FirstComponent中加载的,那么我需要用FirstId和SecondId插入一个记录。

实现这一目标的设计是什么?

EN

回答 1

Stack Overflow用户

发布于 2019-08-09 17:36:00

假设

配置URL:/path-1/:firstId/path-2/:secondId

  • Route

代码语言:javascript
复制
{ 
  path: 'path-1/:firstId', 
  component: FirstComponent, 
  children: [
    { path: 'path-2/:secondId', component: SecondComponent }
  ]
}

您可以通过在:firstId中注入ActivatedRoute来访问SecondComponent:secondId

代码语言:javascript
复制
constructor(private activatedRoute: ActivatedRoute) {
  this.activatedRoute.paramMap.subscribe(paramMap => {
    const firstId = paramMap.get('firstId')
    const secondId = paramMap.get('secondId');
  })
}

为此,您需要在根RouterModule配置中设置paramsInheritanceStrategy

代码语言:javascript
复制
RouterModule.forRoot(routes, { paramsInheritanceStrategy: 'always' })
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57427036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档