图表.js错误:类型 缺少 Angular 中的呼叫签名'((...items: number[]) => number) | ((...items: ChartPoint[]) =>



当将角度应用程序部署到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>

相关内容

  • 没有找到相关文章

最新更新