问题记录-vue在methods中的方法互相调用

我们知道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){

   //点击事件后执行

}

你可能感兴趣的:(问题记录-vue在methods中的方法互相调用)