如何在打字稿中使用Highcharts.Tooltip类型

时间:2016-07-04 15:19:52

标签: javascript highcharts typescript

我正在关注与使用此网址Highcharts - Show tooltip on points click instead mouseover中的突击显示中的点击事件激活工具提示相关的示例。 问题是我正在使用打字稿而且我可以'找到一种正确的方法将这一行翻译成打字稿:

 this.myTooltip = new Highcharts.Tooltip(this, this.options.tooltip); 

我得到的错误是: "属性工具提示没有'存在于类型HighchartsStatic"

我尝试将新成员添加到我的控制器中,如下所示:

   public highchartTooltip : HighchartsTooltipOptions;

之后:

this.myTooltip = new self.highchartTooltip(this, this.options.tooltip); 

但我收到错误: "不能使用' new'使用表达式,其类型缺少调用或构造签名" ...所以我不知道如何创建一个对象来根据js示例初始化工具提示。

我也可以在http://code.highcharts.com/highcharts.src.js

中看到工具提示的定义
  var Tooltip = Highcharts.Tooltip = function () {
     this.init.apply(this, arguments);
  };

  Tooltip.prototype = {...

但我无法弄清楚如何在Typescript定义文件中找到它。

js中的完整示例如下: http://jsfiddle.net/2swEQ/2/

我在github上开了一张票: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/9960

有任何帮助吗?在某些方面如何有一种方法来忽略这个错误? (认为​​在应用程序运行时对象Highcharts.Tooltip存在)

1 个答案:

答案 0 :(得分:1)

这是一个迟到的答案,但也许这可能有助于未来的用户。

在(DefinitelyTyped)Highcharts .d.ts file中,工具提示未定义为类,而是定义为接口。就像api docs mentions

一样

这意味着,您可以使用TypeScript执行以下操作:

let tooltipOptions = <Highcharts.TooltipOptions> {
    // options here...
};

let chart = new Highcharts.Chart({
    tooltip: tooltipOptions
});