【问题标题】:Event Propagation without directive in Angular2Angular2中没有指令的事件传播
【发布时间】:2016-05-13 20:58:48
【问题描述】:

我想知道是否有办法将事件从路由内传播到<router-outlet></router-outlet> 之外。

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

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

【问题讨论】:

    标签: angular angular2-routing


    【解决方案1】:

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

    或者您可以使用element.dispatchEvent() 来触发冒泡事件。详情请见https://developer.mozilla.org/de/docs/Web/API/EventTarget/dispatchEvent

    【讨论】:

      猜你喜欢
      • 2016-08-09
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 2016-12-22
      • 2016-06-01
      • 1970-01-01
      • 2017-02-13
      • 1970-01-01
      相关资源
      最近更新 更多