在以下代码中:
var pie = [];
function makeChart() {
new Chart(document.getElementById("canvas").getContext("2d")).Doughnut(
pie);
};
var data = jQuery.getJSON('xxx', function(data) {
pie = [{
value: data.company_live_ads,
color: "#F7464A"
}, {
value: data.total_candidates,
color: "#46BFBD"
}, {
value: data.company_ads_published_3days,
color: "#FDB45C"
}, {
value: data.company_apps_today,
color: "#4D5360"
}];
makeChart();
});
pie var在JSON函数中更新。然后调用makeChart函数。如果我将console.log(pie)放在makeChart()中,它会打印出带有数字的数组Pie。但是,出于某种原因,它并没有将此var传递给构成图表的函数。此外,如果我使用Dummy Data在此函数中放入一个pie,它会生成图表。
我认为这必须与范围有关,但我有点迷失。任何帮助将不胜感激。
答案 0 :(得分:0)
JSON将数字作为字符串传递,因此硬编码值的工作原理。使用parseInt()更改为生成的数字和图表。