在 Angular 中,可以通过使用路由参数或者使用服务来从父路由的组件访问已激活的子路由的数据。
- 使用路由参数:可以在子路由定义中通过路由参数来传递数据,然后在父路由的组件中使用 ActivatedRoute 服务来获取该路由参数的值。以下是具体步骤:
- 在子路由定义中,使用
data
属性来传递数据,例如:{ path: 'child', component: ChildComponent, data: { myData: 'Hello from child' } }
- 在父路由的组件中,通过注入 ActivatedRoute 服务来获取该路由参数的值,例如:
- 在父路由的组件中,通过注入 ActivatedRoute 服务来获取该路由参数的值,例如:
- 使用服务:可以创建一个共享的服务,将子路由的数据存储在该服务中,并在父路由的组件中注入该服务来访问数据。以下是具体步骤:
- 创建一个共享的服务,例如:
- 创建一个共享的服务,例如:
- 在子路由的组件中,通过注入该共享服务,并调用其方法来设置数据,例如:
- 在子路由的组件中,通过注入该共享服务,并调用其方法来设置数据,例如:
- 在父路由的组件中,通过注入该共享服务,并调用其方法来获取数据,例如:
- 在父路由的组件中,通过注入该共享服务,并调用其方法来获取数据,例如:
这些方法可以根据实际情况选择使用,根据数据的复杂性和共享的需求来决定使用路由参数还是服务。