将Ember Highcharts事件发送回父组件

时间:2016-02-18 12:08:14

标签: ember.js highcharts event-handling

我使用Ember 2.3并在Ember Highcharts周围建立了一个控制器。单击图表点时,我通过添加到highcharts配置对象的以下令人讨厌的代码将该事件发送回控制器:

Graph.__container__.lookup('controller:accounts.account.outlets.outlet.ratings').send('pointClick', event);

(我知道这是根本错误的,应该使用getOwner.lookup作为容器参考)

这没有问题,但我现在正在将此控制器重构为组件,并且无法考虑如何将图形事件传递回组件,因为组件未在应用程序容器中注册。

非常感谢任何有关如何实现这一目标的指示!

感谢。

更新

我刚发现我可以从Highcharts事件函数向组件发送操作:

Graph.__container__.lookup('component:ratingsGraph').send('pointClick', event)

但这似乎创建了组件的新实例,而不是发送到现有实例。我认为这是有道理的,因为组件不是单身。

非常令人沮丧!

1 个答案:

答案 0 :(得分:2)

有些日子你看不到树木了!

我没有在highcharts配置参数中定义highcharts事件函数,而是简单地在组件中定义它并将其传递给highcharts。这使我能够使用闭包来保持对定义组件的引用。

卫生署!