创建后添加Highchartsevent

时间:2018-05-04 07:24:13

标签: angular events highcharts

创建图表后,我不想添加和删除事件。问题是我无法通过处理事件获得图表的属性。像:

event.xAxis[0].min

我创建了一个例子:

https://stackblitz.com/edit/angular-sw9fbo?file=src%2Fapp%2Fapp.component.ts 第55行:

private addEvents(): void {    
      Highcharts.addEvent(this.chartTarget.nativeElement, 'selection', (event) => {
      // problem can't get xAxis or any properties of the chart
      console.log('selection->x-min: ', event.xAxis[0].min); 
    });
}

修改

更新了Stackblitz

1 个答案:

答案 0 :(得分:1)

您的代码有两个小缺陷,会破坏行为:

首先,您需要实际调用addEvents方法。而不是第43行中的this.addEvents;,您需要致电this.addEvents();

其次,Highcharts.addEvent() - 方法希望您传递实际的图表对象 - 而不是对其容器的引用。所以将第50行改为

Highcharts.addEvent(this.chart, 'selection', (event) => {

传递上面创建的图表。

编辑:

要删除TypeScript编译错误并获得完全自动完成功能,您需要从npm手动安装相应的类型包。

npm install --save @types/highcharts

相应地在文件顶部导入特定的事件类型。

import {ChartSelectionEvent} from 'highcharts';

最后将Type相应地添加到函数签名中。

Highcharts.addEvent(this.chart, 'selection', (event: ChartSelectionEvent ) => {

我相应地updated your stackblitz code