我正在将我的谷歌地图从离子本地转换为JS。我正在尝试从另一个类修改我的地图的点击监听器。但是,我正在解决财产问题。
this.maps.init(); //Initialize map
this.maps.map.addListener('click', function(pos){
this.maps.addMarker(pos.latLng.lat(), pos.latLng.lng());//error here
});
我收到了错误
Cannot read property 'addMarker' of undefined
请帮助
答案 0 :(得分:1)
你只需要使用这样的箭头函数:
this.maps.init(); //Initialize map
this.maps.map.addListener('click', (pos) => {
this.maps.addMarker(pos.latLng.lat(), pos.latLng.lng());//error here
});
使用arrow functions,此属性不会被覆盖,仍会引用组件实例。