微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

浅谈vue方法内的方法使用this的问题

如下所示:

rush:js;"> locapos(){//定位方法
rush:js;"> if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { var pos = { lat: position.coords.latitude,lng: position.coords.longitude }; var latLng = new google.maps.LatLng(aa[1],aa[0]); var infoWindow = new google.maps.InfoWindow({ content: "当前位置:
经度:" + pos.lat + "
维度:" + pos.lng //提示窗体内的提示信息 }); infoWindow.setPosition(latLng);
_this.mark = new google.maps.Marker({
  position: latLng,//将前面设定的坐标标注出来
  icon:image,animation: google.maps.Animation.BOUNCE,//<a href="https://www.jb51.cc/tag/tianjia/" target="_blank" class="keywords">添加</a>动画<a href="https://www.jb51.cc/tag/xiaoguo/" target="_blank" class="keywords">效果</a>
  map: map //将该标注设置在刚才创建的map中
 });

// //标注提示窗口

// //打开提示窗口
infoWindow.open(map,mark);

},function() {
handleLocationError(true,infoWindow,map.getCenter());
});
} else {
// browser doesn't support Geolocation
handleLocationError(false,map.getCenter());
}

methods中定义一个locapos()定位方法,其中想在内部方法中使用this调用data()中定义的marker一致不成功,提示未定义,经过不懈努力终于找到解决方法增加一句话就OK了!

rush:js;"> var _this = this;

如此简单,豁然开朗!

以上这篇浅谈vue方法内的方法使用this的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐