在angular2中获取d3-tip的错误

时间:2016-12-13 15:22:38

标签: angular d3.js

我正在使用d3和d3-tip以及他们的@types,

 "@types/d3": "^4.4.0",
"@types/d3-tip": "^3.5.2",

"d3": "^4.4.0",
"d3-tip": "^0.7.1",

我有以下导入声明,

import * as d3 from 'd3';

当尝试编译下面的打字稿代码时,得到以下错误,

 var tip = d3.tip()
        .attr('class', 'd3-tip')
        .offset([-10, 0])
        .html(function (d) {
            return "<strong>Frequency:</strong> <span style='color:red'></span>";
        })

错误,

error TS2339: Property 'tip' does not exist on type 'typeof "C:/bugFix/WebPackPOC/src/WebPackApp/node_modules/@types/d3/index"'. 

2 个答案:

答案 0 :(得分:2)

您正在导入d3但不是d3-tip,这是另一个包。

import 'd3-tip';

答案 1 :(得分:0)

我在TypeScript中遇到同样的问题。

编辑:https://github.com/Caged/d3-tip的最新版d3-tip现在已足够;我即将考试。

====

警告:此部分中的信息可能已过期。

你可能需要使用这个兼容D3 v4的库(也兼容ES5):

https://github.com/VACLab/d3-tip

如果您不需要ES5兼容性,可以在以下位置使用ES6版本:

https://github.com/cgav

====

(顺便说一下,对D3js不熟悉并且不得不从旧版本的D3升级到D3 v4,我可以告诉你我根本不喜欢这个过程,而且我不会以任何方式感谢所有不兼容性和重大变化。当你必须将TypeScript 1.8 - > 2.4升级注入混合时,它会变得更加令人沮丧。)