我使用3D.js库:
d3.select(`#myGraph`)
.append('svg')
const svg = d3.select(`#myGraph svg`).append('g')
const nodeEnter = svg.selectAll("g.node")
.data(nodes)
.enter()
.append("g")
.attr("class", "node")
.call(force.drag())
svg.selectAll(".node")
.each(function (d: any) {
d3.select(this)
.attr("data-source", d.id)
})
但我得到了错误:“this”隐式具有类型“any”,因为它没有类型注解
我怎么能在没有@ts-ignore的情况下修复它?
2条答案
按热度按时间fiei3ece1#
你可以在函数中将类型注解添加到
this
:或者,如果不需要显式的
any
,可以将其定义为SVGGraphicsElement
,这是一种通用的SVG元素类型。如果你想更详细,它可以是一个更具体的类型(如SVGRectElement
或SVGGElement
),以更好地描述选择。lymnna712#
我也有同样的问题。我有一个Angular 的应用程序,当我悬停在生成的矩形上时,我需要显示信息。
这就是问题所在:
同样的问题“this”隐式地键入任何...
该事件具有名为currentTarget So的当前元素,而不是:
在我的typescript应用程序中,我有:
这为我解决了问题。