Chart.js error: type lacks a call signature '((...items: number[]) => number) | ((...items: ChartPoint[]) => number)' in Angular

Chart.js error: type lacks a call signature '((...items: number[]) => number) | ((...items: ChartPoint[]) => number)' in Angular

将 angular 应用程序部署到 Heroku 时,出现错误

error TS2349: Cannot invoke an expression whose type lacks a call signature. Type '((...items: number[]) => number) | ((...items: ChartPoint[]) => number)' has no compatible call signatures.

但是我在显示错误的组件中没有此类代码。所以这似乎是 chart.js 类型缺少问题或不匹配 @types/chart.js 版本。

正在使用以下版本

"chart.js": "^2.8.0",
"@types/chart.js": "^2.7.52"

更新

<div style="display: block;">
    <canvas #myChart baseChart 
            [datasets]="lineChartData" 
            [labels]="lineChartLabels" 
            [options]="lineChartOptions"
            [colors]="lineChartColors" 
            [legend]="lineChartLegend" 
            [chartType]="lineChartType"
          (chartClick)="onChartClick($event)">
    </canvas>
</div>

在 .ts 文件中

this.lineChartData[0].data = [0]
this.lineChartData[0].data = [1]
this.lineChartData[0].data = [2]

其实[datasets]="lineChartData"有两种。一个是 number[],另一个是 ChartPoint[],因此要将数据存储为数字,我们需要 type-cast 将数据存储为

(this.lineChartData[0].data as number[]).push(1)

HTML

<div style="display: block;">
    <canvas #myChart baseChart [datasets]="lineChartData"></canvas>
</div>