use*_*120 4 javascript charts google-visualization
我正在使用 Google Charts 来显示一些数据。我初始化我想要的图表,然后调用一个函数来格式化我的数据。然后该函数将调用 drawChart(parameter) 函数来绘制图表。该google.charts.setOnLoadCallback(drawChart(parameter));函数执行此操作。但是,当我这样做时,它给了我这个错误:Uncaught TypeError: Cannot read property 'DataTable' of undefined这是我的代码:
HTML
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript" src="chart.js"></script>
</head>
<body>
<div id="chart_div"></div>
<script>
google.charts.load('current', {
'packages': ['annotationchart']
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
图表.js
function formatData(worksheet) {
//excess function removed to make question simpler.
google.charts.setOnLoadCallback(drawChart(dataArr));
}
function drawChart(dataArr) {
var data = new google.visualization.DataTable();
data.addColumn('datetime', 'Time');
data.addColumn('number', 'In');
data.addColumn('number', 'Out');
data.addRows([
[new Date(2017, 2, 15, 06, 00, 00), 12400,
10645],
[new Date(2017, 2, 15, 07, 00, 00), 24045,
12374
],
[new Date(2017, 2, 15, 08, 00, 00), 35022,
15766
],
[new Date(2017, 2, 15, 09, 00, 00), 12284,
34334
],
[new Date(2017, 2, 15, 10, 00, 00), 8476,
66467
],
[new Date(2017, 2, 15, 11, 00, 00), 0,
79463
]
]);
var chart = new google.visualization.AnnotationChart(document.getElementById('chart_div'));
chart.draw(data);
}
Run Code Online (Sandbox Code Playgroud)
当我删除参数时,图表会显示出来并且没有错误。我怎样才能让它在我传入参数时能够显示图表而不给我那个错误?
setOnLoadCallback引用 a -->function
不是a -->的结果function()
像这样试试...
function formatData(worksheet) {
google.charts.setOnLoadCallback(function () {
drawChart(dataArr);
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2203 次 |
| 最近记录: |