vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > Vue使用百度地图BMapGL内存泄漏

解决Vue使用百度地图BMapGL内存泄漏问题 Out of Memory

作者:潇似风

这篇文章主要介绍了解决Vue使用百度地图BMapGL内存泄漏问题 Out of Memory,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

使用百度地图BMapGL内存泄漏 Out of Memory

在项目中使用了ElementUI 的 drawer 组件有地图操作

并开启了 :destroy-on-close=“true”

开关多次以后浏览器崩溃了。

刷新页面,打开任务管理器,复现刚刚的操作,会发现浏览器的内存占用一直在增加

解决

1.对象不定义在data中

  initMap(){
     map = new BMapGL.Map("allMap") // 创建Map实例
  }

2.在vue中组件使用 v-if 指令会从dom中移除

但不会清除地图实例,所以要在销毁钩子里对地图进行销毁

  beforeDestroy() {
    map.destroy()
    map = null
  },

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文