error: Uncaught TypeError: Illegal constructor JavaScript

error: Uncaught TypeError: Illegal constructor JavaScript

const cases = document.querySelector('coronovirus-input');
const deaths = document.querySelector('deaths-input');
const recovered =document.querySelector('recovered-input');

const ctx = document.getElementById('mychart').getContext("2d");
let mychart = new CharacterData(ctx , {

  type:'pie',
  data: {
    labels : ['Active Cases','Deaths','Recovered'],
    datasets : [
      {
        label:'# of votes',
        data : [0,0,0],
        backgroundColor:['#2adece','#dd3b79','#ff766b'],
        borderWidth:1
      }
    ]
    
  }
});

const updateChartValue = (input, dataOrder) => {

  input.addEventListener ('change', e => {
    mychart.data.datasets[0].data[DataOrder] = e.target.value;
    mychart.update();
  });

};

updateChartValue(cases,0);
updateChartValue(deaths,1);
updateChartValue(recovered,2);

大家好,我无法解决这个问题... 我想做饼图,但我是新手,不能在这个网站上分享任何 post 如果我有任何错误,我深表歉意 This Error

我在您发布的代码中发现了几个问题,但最值得注意的是用于初始化 mychart 的构造函数应该是 new Chart() 而不是 new CharacterData()(由于自动完成可能会出现错字你的编辑?)。

其次,请注意元素 ID 的选择器必须以 # 为前缀。

最后,updateChartValue 显示 dataOrder 参数和使用它的地方(大写 'D')不匹配。

在此处查看解决方案https://codepen.io/beezital/pen/zYEmKRG

const cases = document.querySelector('#coronovirus-input');
const deaths = document.querySelector('#deaths-input');
const recovered =document.querySelector('#recovered-input');

const ctx = document.getElementById('mychart').getContext("2d");
let mychart = new Chart(ctx , {

  type:'pie',
  data: {
    labels : ['Active Cases','Deaths','Recovered'],
    datasets : [
      {
        label:'# of votes',
        data : [10,20,30],
        backgroundColor:['#2adece','#dd3b79','#ff766b'],
        borderWidth:1
      }
    ]
    
  }
});

const updateChartValue = (input, dataOrder) => {

  input.addEventListener ('change', e => {
    mychart.data.datasets[0].data[dataOrder] = e.target.value;
    mychart.update();
  });

};

updateChartValue(cases,0);
updateChartValue(deaths,1);
updateChartValue(recovered,2);