2016-07-04 51 views
0

我正在关注使用此网址Highcharts - Show tooltip on points click instead mouseover中的Highchart中的click事件来激活工具提示的示例。 的事情是,我使用的打字稿,我可以“找到正确的方式来翻译这行打字稿:如何在打字稿中使用Highcharts.Tooltip类型

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 = {... 

但我无法弄清楚如何找到它了打字稿定义文件。

在JS完整的例子是在这里: http://jsfiddle.net/2swEQ/2/

我已经在github上开了票: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/9960

任何帮助吗?在一些如何有办法忽略这个错误? (当应用运行时,认为对象Highcharts.Tooltip存在)

+0

HighchartsStatic?这不是在你的代码 – iberbeu

+0

我有这个接口定义的参考..但如果你在定义中看到“Tooltip”不存在。 – Rolando

+0

你说打字稿定义文件,你使用哪一个? – Mark

回答

1

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

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

这意味着,你能做到以下几点,而不是与打字稿:

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

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