我对 JavaScript 很陌生,我不确定是否可以做到这一点。
我试图将图表对象(来自 Chartjs.org )存储为散列中的值,键是字符串。运行以下代码时,我收到一条错误消息“Object [object Object] has no method '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);
}
}
最佳答案
.Line() 很可能不会返回 Chart() 对象,因此在 else 部分中,您所做的相当于 Chart().Line().Line
尝试这样重写
if(!charts[div_id]){
charts[div_id] = new Chart(ctx);
}
charts[div_id].Line(data, options);
关于Javascript:将对象作为值存储在哈希中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22922325/