我们知道vue的方法都写在methods下,方法互相调用也很简单,直接在方法中this.方法名就可以了
loadCompany(){
var markerdata=[]
this.SetMarkers(markerdata);
}
但是有些情况下不能直接this调用,如监听事件箭头函数内,如果直接在方法体内写,代码又过长,可以用如下方法调用
SetMarkers(data){
var methodsobj=this.$options.methods; //获取methods中的所有方法
//地图上点击后打开弹窗
this.myMap.on('click',(e)=>{
var infoWindow = new AMap.InfoWindow({
offset: new AMap.Pixel(0, -30),
isCustom: true, //是否自定义弹窗
content:methodsobj.createInfoWindow(title, content)
});
infoWindow.open(_this.gmap, e.target.getPosition());
});
})
}
createInfoWindow(marker){
//点击事件后执行
}