我对Typescript和泛型还不熟悉,我正在努力解决编译器问题。当我运行以下代码(编译目标GitHub项目)时,出现标题错误。
我尝试将d3.Selection
的类型转换为<SVGSVGElement
失败。我可以将其更改为<any>
或<unknown>
,但我觉得这很骗人,而不是在这里学习课程。
import * as d3 from 'd3';
type D3SVGSelection = d3.Selection<SVGElement, any, null, undefined>;
在该类的构造函数中,我设置为this.svg:
constructor(elm: HTMLDivElement) {
private svg: D3SVGSelection;
this.svg = (d3.select(elm).append('svg') as D3SVGSelection)
.attr('viewBox', '-5 5 130 110')
.attr('style', 'width: 95%; height: 70%; margin-left:5px');
我知道问题出在D3SVGSelection的类型定义上,但是我不确定如何解决它。有关将来如何自行解决此类问题的建议?