Javascript 如何通过鼠标悬停和多次更新来解决Chart.js 2.0的问题?
非常奇怪,我有一个Chart.js图表,我需要进行日常更新。更新工作正常,但如果将鼠标移到图表上或多次单击按钮更新(添加数据),条形图和线条将消失,控制台中会显示此错误:Javascript 如何通过鼠标悬停和多次更新来解决Chart.js 2.0的问题?,javascript,jquery,charts,chart.js,Javascript,Jquery,Charts,Chart.js,非常奇怪,我有一个Chart.js图表,我需要进行日常更新。更新工作正常,但如果将鼠标移到图表上或多次单击按钮更新(添加数据),条形图和线条将消失,控制台中会显示此错误: Uncaught TypeError: Cannot read property 'draw' of null 请点击按钮数次,您可以缓慢或快速地进行测试。单击“添加数据”按钮后,将鼠标也移到图表上 您可以在以下位置进行测试: 如何避免此错误?这是因为您混淆了创建图表和添加更多数据的函数。通过如下所示将它们分开来修复此问题
Uncaught TypeError: Cannot read property 'draw' of null
请点击按钮数次,您可以缓慢或快速地进行测试。单击“添加数据”按钮后,将鼠标也移到图表上
您可以在以下位置进行测试:
如何避免此错误?这是因为您混淆了创建图表和添加更多数据的函数。通过如下所示将它们分开来修复此问题
var canvas = document.getElementById("canvasChart");
var $chart;
function createChart(ID) {
console.log(canvas);
console.log(chartsParams);
$chart = new Chart(canvas, chartsParams['myChart']);
}
function addData() {
$chart.data.datasets.push({
label: 'Added',
data: [12, 32, 43, 53]
});
$chart.update();
}
createChart();
document.getElementById("addButton").addEventListener("click", addData);
此处演示:这是因为您混合了创建图表和添加更多数据的函数。通过如下所示将它们分开来修复此问题
var canvas = document.getElementById("canvasChart");
var $chart;
function createChart(ID) {
console.log(canvas);
console.log(chartsParams);
$chart = new Chart(canvas, chartsParams['myChart']);
}
function addData() {
$chart.data.datasets.push({
label: 'Added',
data: [12, 32, 43, 53]
});
$chart.update();
}
createChart();
document.getElementById("addButton").addEventListener("click", addData);
此处演示: