Ember.js 将Ember Highcharts事件发送回父组件

Ember.js 将Ember Highcharts事件发送回父组件,ember.js,highcharts,event-handling,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作为容器引用) 这是没有问题的,但我现

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

Graph.__container__.lookup('controller:accounts.account.outlets.outlet.ratings').send('pointClick', event);
(我知道这根本是错误的,应该使用getOwner.lookup作为容器引用)

这是没有问题的,但我现在正在将这个控制器重构为一个组件,无法考虑如何将graph事件传递回组件,因为组件没有在应用程序容器中注册

任何关于如何实现这一点的建议都将不胜感激

谢谢

更新

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

Graph.__container__.lookup('component:ratingsGraph').send('pointClick', event)
但这似乎是创建组件的新实例,而不是发送到现有实例。我想这是有道理的,因为组件不是单例的


非常令人沮丧

有些日子,你看不见树木,看不见森林

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


有些日子,你看不见树木,看不见森林

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


您能在或上重新创建当前设置吗?抱歉,需要大量工作。我刚刚发现我可以通过容器访问一个组件,但是由于每个组件可能有多个实例,我如何获得正确的实例?这有帮助吗?谢谢你的建议,但不幸的是没有。问题不在于余烬组件层次结构中的冒泡操作。问题在于,通过将文本函数定义通过其配置参数传递给Highcharts,将定制功能添加到Highcharts事件中(例如,单击图形)。我无法将调用对象引用传递到此函数,因此无法访问调用的Ember组件。当它被包装在控制器中时,我通过从Ember容器访问控制器解决了这个问题。对于一个组件,我不能这样做。我想我可能必须从容器访问一个余烬服务,然后触发一个余烬事件并在组件中侦听它——这是一个可怕的解决方法!您能在或上重新创建当前设置吗?抱歉,需要大量工作。我刚刚发现我可以通过容器访问一个组件,但是由于每个组件可能有多个实例,我如何获得正确的实例?这有帮助吗?谢谢你的建议,但不幸的是没有。问题不在于余烬组件层次结构中的冒泡操作。问题在于,通过将文本函数定义通过其配置参数传递给Highcharts,将定制功能添加到Highcharts事件中(例如,单击图形)。我无法将调用对象引用传递到此函数,因此无法访问调用的Ember组件。当它被包装在控制器中时,我通过从Ember容器访问控制器解决了这个问题。对于一个组件,我不能这样做。我想我可能必须从容器访问一个余烬服务,然后触发一个余烬事件并在组件中侦听它——这是一个可怕的解决方法!我想我正在尝试做类似的事情。Highchart click事件丢失时您是否遇到问题?你有一个简单的例子吗?谢谢我在这里贴了一个问题。如果您试图从容器中获取组件(通过highcharts click事件),那么事件不会丢失,您无法获得对正确组件的引用(组件不是控制器等的单例)。你需要在你的组件中定义你的点击事件(参照组件),然后添加到hichcharts选项中。Highchart click事件丢失时您是否遇到问题?你有一个简单的例子吗?谢谢我在这里贴了一个问题。如果您试图从容器中获取组件(通过highcharts click事件),那么事件不会丢失,您无法获得对正确组件的引用(组件不是控制器等的单例)。您需要在组件中定义单击事件(参照组件),然后添加到hichcharts选项。