我正在关注与使用此网址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存在)
答案 0 :(得分:1)
这是一个迟到的答案,但也许这可能有助于未来的用户。
在(DefinitelyTyped)Highcharts .d.ts file中,工具提示未定义为类,而是定义为接口。就像api docs mentions。
一样这意味着,您可以使用TypeScript执行以下操作:
let tooltipOptions = <Highcharts.TooltipOptions> {
// options here...
};
let chart = new Highcharts.Chart({
tooltip: tooltipOptions
});