我的角度应用程序出现问题。
我通过chart.js
安装了chartjs-plugin-datalabels
和npm
库,创建了图表并正常运行,但是当我尝试部署该应用程序时,控制台显示以下错误:>
错误TS2740:类型'import(“ / node_modules/@types/chart.js/index.d.ts”)'缺少类型'any []'中的以下属性:length,pop,push,concat,还有26个 错误TS2322:类型'import(“ / node_modules/@types/chart.js/index.d.ts”)'无法分配为类型'any []'。
我尝试了其他方法来解决此问题,但问题仍然存在,这是我的代码:
import * as Chart from 'chart.js';
import 'chartjs-plugin-datalabels';
this.ReceivedChart = new Chart('received', {
type: 'line',
data:{
labels:this.LabelsData,
datasets:[
{
data:this.ReceivedData,
borderColor: "#3cba9f",
fill: false,
label:'Received'
}
]
},
options: {
plugins: {
datalabels: {
display: true,
align: 'top',
anchor: 'end',
rotation:90
}
},
legend: {
display: true
},
scales: {
xAxes: [{
display: true,
ticks: {
autoSkip: false,
maxRotation: 90,
minRotation: 90
}
}],
yAxes: [{
display: true
}],
}
}
});
任何帮助将不胜感激!
答案 0 :(得分:0)
您已将ReceivedChart
声明为空数组,因此为其指定了类型any[]
。
this.ReceivedChart = []; // TypeScript infers the type to be any[] here
在代码中,您正在创建一个新图表并将其设置为该变量。
this.ReceivedChart = new Chart(...);
TypeScript抱怨是因为您正在将Chart
对象设置为它期望是数组的对象。您可能需要将变量设置为Chart
类型(试图将其设置为变量),或者需要将刚刚创建的图表推送到数组中。
this.ReceivedChart.push(new Chart(...));