Я довольно новичок в 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, однако я не уверен, как его решить.Предложения о том, как решить эту проблему самостоятельно в будущем?