物业'小费'类型&type; @ types / d3 / index"'类型不存在

时间:2017-11-03 11:31:10

标签: typescript d3.js

我无法使用d3提示。

import * as d3 from "d3";
import  "d3-tip";

var tool_tip = d3.tip()

我收到了这样的错误。

Property 'tip' does not exist on type 'typeof "/home/viktor/projects/internet_trading_platform/client/node_modules/@types/d3/index"'.

我已经导入d3 tip模块必须增加d3模块。但事实并非如此。根据{{​​3}}

问候。

d3-tip声明位于https://www.typescriptlang.org/docs/handbook/declaration-merging.html

3 个答案:

答案 0 :(得分:2)

尝试一下。

import d3Tip from "d3-tip"

const tip = d3Tip();

tip.attr("class", "d3-tip")
   .html(d => { return "html"})

答案 1 :(得分:0)

不是最好的答案,但对于遇到此问题的任何人来说,一个对我有用的解决方案是

正常导入d3提示

import * as d3Tip from 'd3-tip';

然后初始化提示

var tipObject = (<any>d3Tip)()
      .attr('class', 'd3-tip')
      .html('Loading...');

答案 2 :(得分:0)

已经有很长一段时间了,只是考虑了一种解决方法:

import * as d3 from 'd3';

Object.defineProperty(d3, 'tip', {
  value: require('d3-tip')
});

或者,如果您根本不喜欢require()条语句,则:

import * as d3 from 'd3';
import * as d3Tip from 'd3-tip';

Object.defineProperty(d3, 'tip', {
  value: d3Tip
});

这样TypeScript就不会再抱怨了。 它也可以与@types/d3@3@types/d3-tip@3配合使用。