我想知道是否有办法将路径内的事件传播到<router-outlet></router-outlet>
之外。
情景就像是我们有一条路线说Home,&amp; HomeComponent应该向root组件通知一些事情。如果它是app.component的直接子代,我们可以在HomeComponent&amp;中使用EventEmitter类型的输出属性。 <home (eventName)="actionName()"></home>
指令上的事件绑定。但事实并非如此,因为HomeComponent是在路线内使用的。
请通过建议从路由到根组件的事件传播的正确方法来帮助我。
答案 0 :(得分:5)
您可以使用在发送方和接收方组件中注入的共享服务进行通信(如消息总线)。有关详细信息,请参阅come from this answer
或者您可以使用element.dispatchEvent()
来解雇冒泡事件。有关详细信息,请参阅https://angular.io/docs/ts/latest/cookbook/component-communication.html。