我有一个父组件。让我们说; 组件1。在其 html 中我添加了以下代码。
<div>
<router-outlet></router-outlet>
</div>
<div>
<button>Banner</button>
</div>
我想将“横幅”按钮单击功能传递到另一个组件中,该组件将通过路由器出口呈现。获取按钮单击功能后,我想在该组件内打开一个弹出窗口。在路由模块中,我添加了如下路径:
{
path: "parent",
component: Component1,
},
children: [
{
path: 'child',
loadChildren:
() => import('path').then(m => m.Module2)
}]
在这个 Module2 中,我有另一个根组件 Component2。在其 html 中,我添加了监听组件选择器。
组件2 html:
<app-component3></app-component3>
仅在 Component3 ts 文件中我想获得横幅点击功能。在听的时候我想打开弹出窗口。如果有人可以提供帮助,那将会很有帮助。
我的理解是,你想要在通过路由分隔的两个组件之间进行通信,解决方案是使用事件总线,我们使用组件a中的主题发出事件,然后在组件c中接收事件。