我对javascript很新,我不确定是否可以这样做。
我正在尝试将Chart对象(来自Chartjs.org)存储为散列中的值,键是字符串。当运行以下代码时,我得到一个错误,上面写着'Object [object Object]没有方法'Line'。
有什么建议吗?
var charts = {};
function drawChart(response, div_id){
data = {
labels: response.labels,
datasets: [{...},{...}]
};
options = {...};
var canvas = document.getElementById(div_id);
var ctx = canvas.getContext("2d");
if(!charts[div_id]){
charts[div_id] = new Chart(ctx).Line(data, options);
}
else{
charts[div_id].Line(data, options);
}
}
答案 0 :(得分:0)
.Line()可能不会返回Chart()对象,因此在else部分中,您执行的操作相当于Chart()。Line()。Line
尝试像这样重写
if(!charts[div_id]){
charts[div_id] = new Chart(ctx);
}
charts[div_id].Line(data, options);