【发布时间】:2018-09-14 15:39:33
【问题描述】:
在我使用 D3 v5 的 Angular 5 项目中,如果我给出以下内容,代码将编译:
let y0 = d3.scaleLinear().domain([0, 100000]).range([this.height, 0]);
但是,如果我为域的上限和下限提供以下变量名,则会收到错误:
let y0 = d3.scaleLinear().domain([d3.min(data.totalCount), d3.max(data.totalCount)]).range([this.height, 0]);
错误:TS2345:“string[]”类型的参数不可分配给“number |”类型的参数或 ({valueOf(): number;})[]'。类型 'string' 不可分配给类型 'number |或 {valueOf(): number;}。
我知道 d3.min 和 d3.max 的参数是数字,如果我提供一个数字测试数组 test = [1, 2, 3, 4],我会得到同样的错误。
为什么它试图将这些变量读取为字符串?我做错了什么?
【问题讨论】:
标签: javascript angular typescript d3.js