如何获取路由组件的 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 之间共享,方法是将其添加到 ComponentA
的 providers: [MySharedService]
而不是 bootstrap()
,如链接答案所示。
假设我们有带有该模板的 ComponentA:
<div>
<router-outlet></router-outlet>
</div>
ComponentA 有 routeConfig 路由到 ComponentB。
如何从路由的componentB获取ComponentA?
我试图将@Host 注入到 ComponentB 但出现异常。
路由器使用 DynamicComponentLoader
添加组件。此类组件的功能有限(无法传递 @Input()
,无法使用 @Host()
)。
您可以使用 ComponentA
传递自身并且 ComponentB
可以读取值的共享服务。
这里解释了一个类似的用例 ComponentA
的 providers: [MySharedService]
而不是 bootstrap()
,如链接答案所示。