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