我正在尝试使用Google Chart API渲染数据,但奇怪的是,当我加载可视化API时,回调函数不会被调用。 我在http://jsfiddle.net/jagzviruz/ZBMnh/
创造了一个小提琴var DonutChart = {
data : [
['Sales', 20],
['Returns', 12],
['Pending', 80],
['Processed',990]
],
init : function(){
$.getScript('https://www.google.com/jsapi', this.loadPackages);
},
loadPackages : function(){
console.log('Loaded API.. now loading packages');
var o = this;
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(o.renderData);
},
renderData: function(){
//console.log('Loaded Packages.. Now showing charts');
alert('Render Data');
}};
DonutChart.init();
我从来没有得到警报。其他控制台消息显示正常。
答案 0 :(得分:0)
使用DonutChar
而不是this
来引用函数指针:
$.getScript('https://www.google.com/jsapi', DonutChart.loadPackages);
init
功能相当于:
function foo()
{
$.getScript('https://www.google.com/jsapi', this.loadPackages);
}
DonutChart.init = foo
因此,this
等于foo
而不是DonutChart
。