如何将容器变量传递给回调函数geomapLoaded?
MyMap = Class.create({
initialize: function(container) {
this.container = container;
google.load('visualization', '1', {'packages': ['geomap'], 'callback' : this.geomapLoaded});
},
geomapLoaded: function () {
this.map = new google.visualization.GeoMap(this.container);
}
}
我在geomapLoaded方法中得到this.container undefined(我正在使用原型框架)。
答案 0 :(得分:1)
就像评论中所说的@David一样,你应该能够使用一个闭包来解决这个问题。如果你使用匿名函数而不是geomapLoaded
,那么希望它能起作用:
MyMap = Class.create({
initialize: function(container) {
this.container = container;
// Create a reference to this so we can use
// it in our callback function
var that = this;
google.load('visualization',
'1',
{
'packages': ['geomap'],
'callback' : function() {
that.map = new google.visualization.GeoMap(that.container);
}
}
);
}
}