Angular 创建后添加Highchartsevent

Angular 创建后添加Highchartsevent,angular,events,highcharts,Angular,Events,Highcharts,我不想在创建图表后添加和删除事件。问题是我无法通过处理事件来获取图表的属性。比如: event.xAxis[0].min 我创建了一个示例: 第55行: 编辑: 更新了您的代码有两个小缺陷,它们破坏了行为: 首先,您需要实际调用addEvents方法。而不是this.addEvents在第43行中,您需要调用this.addEvents() 其次,Highcharts.addEvent()-方法希望您传递实际的图表对象,而不是对其容器的引用。所以把第50行改为 Highcharts.addE

我不想在创建图表后添加和删除事件。问题是我无法通过处理事件来获取图表的属性。比如:

event.xAxis[0].min
我创建了一个示例:

第55行:

编辑:


更新了

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

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

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

Highcharts.addEvent(this.chart, 'selection', (event) => {
通过上面创建的图表

编辑: 要删除TypeScript编译错误并获得完整的自动完成功能,您需要从npm手动安装适当的类型包

npm install --save @types/highcharts
相应地导入文件顶部的特定事件类型

import {ChartSelectionEvent} from 'highcharts';
最后将相应的类型添加到函数签名中

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

因此,我非常感谢。

谢谢,但这并不能解决属性的问题。您是在谈论成员的打字识别吗?因为编译的JS实际上能够读取字段…也许。我得到一个编译错误:“属性'xAxis'在类型'Event'上不存在”。如果我缩放它,必须在控制台上打印xAxis的最小值和最大值。你说得对。这是关于成员的打字识别。我得到一个编译错误:“属性'xAxis'在类型'Event'上不存在”。如果这个错误消失,我可以使用自动完成,那就太好了。在第53行的参数中添加
:any
将删除编译错误:
Highcharts.addEvent(this.chart,'selection',(event:any)=>{
,但这不会添加自动完成功能。。。
Highcharts.addEvent(this.chart, 'selection', (event: ChartSelectionEvent ) => {