我正在尝试为chartjs设置scaleDefaults。我正在使用@types/chart.js
v2.7.22中的类型。
Chart.scaleService.updateScaleDefaults('logarithmic', {
ticks: {
callback: function (tick: number, index: number, ticks: number[]) {
// CODE
}
}
但是,这却带来了一个问题:Property 'scaleService' does not exist on type 'typeof Char'
。如果我将此转换为any
,则可以正常工作。
但是我不想将其强制转换为任何值,因此我想扩展chartjs接口,结果:
interface ChartExtended extends Chart { }
(Chart as ChartExtended).scaleService.updateScaleDefaults('logarithmic', {
ticks: {
callback: function (tick: number, index: number, ticks: number[]) {
// CODE
}
}
但是我再次遇到类型错误:
Type 'typeof Chart' cannot be converted to type 'ChartExtended'.
Property 'config' is misisng in type 'typeof Chart'
当我检查index.d.ts时,我注意到有一个单独的类def和一个名称相同的名称空间def:
declare class Chart {
static readonly Chart: typeof Chart;
// Stuff
}
declare namespace Chart {
// Stuff
}
export = Chart;
export as namespace Chart;
我想创建一个适当扩展图表的接口,以便我可以定义scaleService。
我希望定义如下接口:
interface ChartExtended extends Chart {
scaleService?: ScaleService
}