如何获取路由组件的 parent/host

How to get parent/host of routed component

假设我们有带有该模板的 ComponentA:

 <div>
       <router-outlet></router-outlet>
 </div>

ComponentA 有 routeConfig 路由到 ComponentB。

如何从路由的componentB获取ComponentA?

我试图将@Host 注入到 ComponentB 但出现异常。

路由器使用 DynamicComponentLoader 添加组件。此类组件的功能有限(无法传递 @Input(),无法使用 @Host())。

您可以使用 ComponentA 传递自身并且 ComponentB 可以读取值的共享服务。

这里解释了一个类似的用例 。该服务不必是全球性的。它也只能在 parent 和 child 之间共享,方法是将其添加到 ComponentAproviders: [MySharedService] 而不是 bootstrap(),如链接答案所示。