【问题标题】:How to use Highcharts.Tooltip type in typescript如何在打字稿中使用 Highcharts.Tooltip 类型
【发布时间】:2016-07-04 15:19:52
【问题描述】:

我正在关注与使用来自此 url Highcharts - Show tooltip on points click instead mouseover 的 Highchart 中的点击事件激活工具提示相关的示例。 问题是我正在使用打字稿,我找不到将这一行翻译成打字稿的正确方法:

 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看到tooltip的定义

  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存在)

【问题讨论】:

  • HighchartsStatic?这不在您的代码中
  • 我有一个对这个接口定义的引用。但是如果你在定义中看到“工具提示”不存在。
  • 你说的打字稿定义文件,你用的是哪个?
  • // Highcharts 2.3.3 的类型定义。你问的是那个版本吗?
  • 这个one?我的猜测是它的作者忽略了它。

标签: javascript highcharts typescript


【解决方案1】:

这是一个较晚的答案,但也许这可能会对未来的用户有所帮助。

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-11
    • 2021-04-03
    • 2020-04-17
    • 2018-01-31
    • 2017-02-26
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    相关资源
    最近更新 更多