我很难手动推出一个解决方案,包括从HighCharts API中向X-Axis标签(特别是柱形图)添加一个点击监听器,特别是在Angular 2应用程序中 .
I know the following thus far:
-
我正在使用angular2-highcharts以Angular方式执行这些图表插图 .
-
按设计,HighCharts API removed X-Axis click events for security reasons .
-
确实存在customEvents插件以添加此类自定义事件 .
The problem:
简而言之,我想将一个click事件添加到label元素并将其附加到Angular组件内定义的方法 . 但是,我不能通过正常的方式来实现这一点,例如利用jQuery或本机JavaScript在元素上添加事件监听器,因为这个问题 - 我想要的方法是在Angular的世界中 .
在一个理想的世界中,我想这样做(但是,包装器不提供当前的机会):
<xAxis (click)="onClick($event)"></xAxis>
我一直在玩这样的实现(不作为 onClick
被定义为Angular组件内部的方法):
$('#label-0').on('click', this.onClick(e));
我将继续更新此问题并提供更多详细信息 - 请继续关注 .
1 回答
所以这是我的最终解决方案,它按照我期望的方式工作 . 我发布在这里,万一有人下了类似的兔子洞 .
我还在利用:
angular2-highcharts
HighCharts
但不是我之前谈过的
customEvents.js
插件 .我从Angular包装器中完全尊重这个开箱即用的功能:
在我各自的Angular组件中,我设置了一个公共方法如下:
jQuery可以选择HTML元素,因为它们最终被绘制到Axis Context中,然后我将它桥接回一个名为
self
的本地范围变量 - 这是对this
的引用,它引用了该组件中定义的Angular对象 .