【发布时间】:2016-10-19 07:48:06
【问题描述】:
当我想使用域时,我遇到了问题。
所以,我尝试使用我的代码的下一部分
var x = d3.time.scale()
.domain([new Date('2016-06-10'), new Date('2016-06-25')])
.rangeRound([0, 1000]);
我收到有关域错误类型的错误...
“Scale”类型的参数不能分配给“Scale”类型的参数。
属性“域”的类型不兼容。
键入'{ (): 日期[]; (日期:数字[]):比例; (日期:Date[]):比例; }' 不可分配给类型 '{ (): number[]; (值:数字[]):比例; }'。
类型 'Date[]' 不能分配给类型 'number[]'。 “日期”类型不能分配给“数字”类型。
但是如果我们看一下 d3 分型
domain(): Date[];
domain(dates: number[]): Scale<Range, Output>;
domain(dates: Date[]): Scale<Range, Output>;
域可以带日期数组!
如果我们禁用类型,那么一切正常。
我的代码的另一部分也有类似的问题:
var drag = d3.behavior.drag()
.on('drag', function (d) {
d3.event.sourceEvent.stopPropagation();
})
.on('dragstart', function () {
//
});
我收到以下错误:
“事件 | 类型”上不存在属性“源事件” BaseEvent'。
但是如果我们查看类型
export var event: Event | BaseEvent;
和
interface BaseEvent {
type: string;
sourceEvent?: Event;
}
我使用打字:
“d3”:“注册表:dt/d3#0.0.0+20160614091820”
以及用于 webpack 的 awesome-typescript-loader
那么,我怎么了?
【问题讨论】:
标签: d3.js typescript