当将角度应用程序部署到Heroku
时,我收到错误
错误 TS2349:无法调用类型缺少调用签名的表达式。键入 '((...项目: 数字[]( => 数字( |((...items: ChartPoint[]( => number(' 没有兼容的呼叫签名。
但是我在这个组件中没有这种类型的代码,错误显示。所以这似乎是图表.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[]
,因此将数据存储为我们需要将数据类型化为的数字
(this.lineChartData[0].data as number[]).push(1)
.HTML
<div style="display: block;">
<canvas #myChart baseChart [datasets]="lineChartData"></canvas>
</div>