在Angular2中没有指令的事件传播

Rah*_*war 2 angular2-routing angular

我想知道是否有办法将路径内的事件传播到外面<router-outlet></router-outlet>.

场景就像我们有一条路线说Home,&HomeComponent应该通知根组件.如果它是app.component的直接子代,我们可以在HomeComponent中使用EventEmitter类型输出属性并在<home (eventName)="actionName()"></home>指令上使用事件绑定.但事实并非如此,因为HomeComponent是在路线内使用的.

请通过建议从路由到根组件的事件传播的正确方法来帮助我.

Gün*_*uer 5

您可以使用在发送方和接收方组件中注入的共享服务进行通信(如消息总线).有关详细信息,请参阅https://angular.io/docs/ts/latest/cookbook/component-communication.html

或者你可以element.dispatchEvent()用来点燃冒泡事件.有关详细信息,请参阅https://developer.mozilla.org/de/docs/Web/API/EventTarget/dispatchEvent.