问题记录-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){

   //点击事件后执行

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容