我正在尝试为google map api创建一个包装器。以下函数是对象的一部分。我不断得到“自我未定义”。通常,侦听器只有函数(事件),我尝试将self添加到参数列表以访问父对象。
var self = this;
google.maps.event.addListener(this.geoMarker, 'dragend', function( event, self ){
//update input
self.lat = event.latLng.lat(); //ERROR: self is undefined
self.lng = event.latLng.lng();
//udpate any fields that were set
self.updateDisplay();
self.geoMarker.setTitle("Lat: " + event.latLng.lat() + ' Lng: ' + event.latLng.lat() );
});
答案 0 :(得分:2)
你应该从回调的参数列表中删除self
的声明 - 它超越了外部声明。
答案 1 :(得分:0)
从回调函数
中删除第二个参数(self)