解决Vue使用百度地图BMapGL内存泄漏问题 Out of Memory
目录
- 使用百度地图BMapGL内存泄漏 Out of Memory
- 解决
- 1.对象不定义在data中
- 2.在vue中组件使用 v-if 指令会从dom中移除
- 总结
使用百度地图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 },
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
详解vue项目中调用百度地图API使用方法
步骤一:申请百度地图密钥: JavaScript API v1.4以及以前的版本无序申请秘钥(ak),自v1.5版本开始需要先申请秘钥(ak),才可以使用,如需获取更高的配额,需要申请 认证企业用户.百度地图API 链接地址:http://lbsyun.baidu.com/apiconsole/key 步骤二:在index.html中添加百度地图JavaScript API接口: <script src="http://api.map.baidu.com/api?v=1.4"
-
vue使用百度地图报错BMap is not defined问题及解决
目录 使用百度地图报错BMap is not defined vue导入百度地图BMap 使用百度地图报错BMap is not defined 1.在index.html添加 密钥申请:http://lbsyun.baidu.com/apiconsole/key <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的密钥"></script
-
vue用BMap百度地图实现即时搜索功能
本文实例为大家分享了vue用BMap百度地图实现即时搜索功能的具体代码,供大家参考,具体内容如下 功能如下: 搜索框搜索---自动下拉---点击数据---数据显示在搜索框里---点击新增--数据显示在下方--点击删除--删除当前 代码: 首先去百度开发者申请一个key 然后将key引入到项目的 index.html: <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak
-
详解vue在项目中使用百度地图
第一步,去百度地图开发者申请秘钥. 第二步在项目中引入,具体如下 其中index.html存放地图链接,代码如下 然后在APP.vue里面实现,代码如下 <template> <div id="app"> <div id="allmap" ref="allmap"></div> <router-view></router-view> </div> </tem
-
解决Vue使用百度地图BMapGL内存泄漏问题 Out of Memory
目录 使用百度地图BMapGL内存泄漏 Out of Memory 解决 1.对象不定义在data中 2.在vue中组件使用 v-if 指令会从dom中移除 总结 使用百度地图BMapGL内存泄漏 Out of Memory 在项目中使用了ElementUI 的 drawer 组件有地图操作 并开启了 :destroy-on-close=“true” . 开关多次以后浏览器崩溃了. 刷新页面,打开任务管理器,复现刚刚的操作,会发现浏览器的内存占用一直在增加 解决 1.对象不定义在data中
-
解决vue自定义指令导致的内存泄漏问题
vue的自定义指令是一个比较容易引起内存泄漏的地方,原因就在于指令通常给元素绑定了事件,但是如果忘记了解绑,就会产生内存泄漏的问题. 看下面代码: directives: { scroll: { inserted (el, cb) { // 不是元素节点 || 未设置回调函数 if (el.nodeType !== 1 || !cb) return let direct = 'down' let rollHeight = 0 let getScrollEventTarget = (target)
-
Vue优化:常见会导致内存泄漏问题及优化详解
如果你在用 Vue 开发应用,那么就要当心内存泄漏的问题.这个问题在单页应用 (SPA) 中尤为重要,因为在 SPA 的设计中,用户使用它时是不需要刷新浏览器的,所以 JavaScript 应用需要自行清理组件来确保垃圾回收以预期的方式生效.因此在vue开发过程中,你需要时刻警惕内存泄漏的问题,这些内存泄漏往往会发生在使用 Vue 之外的其它进行 DOM 操作的三方库时,请确保测试应用的内存泄漏问题并在适当的时机做必要的组件清理. 下面是我开发过程中遇到,并查资料总结的内存泄漏问题,会持续更新中
-
vue中百度地图定位及附近搜索功能使用步骤
目录 1.地图初始化相关 2.获取当前定位 3.根据当前定位地址附近搜索建议 1.地图初始化相关 文档:lbs.baidu.com/index.php?t… 申请账号 => 创建应用 => 生成key值 => 引入百度地图,替换key值 在出口html(public/html)文件下引入标签 <script type="text/javascript" src="https://api.map.baidu.com/api?v=1.0&&
-
Vue使用百度地图实现城市定位
本文实例为大家分享了Vue使用百度地图实现城市定位的具体代码,供大家参考,具体内容如下 Vue项目运行环境:Vue 2.0,Vue Cli 3.0 步骤一:登录 百度地图开放平台 在 控制台---->应用管理---->我的应用 下面创建一个应用. 目的是获取 ak 步骤二:在public文件夹的index.html文件中 导入百度地图,拼上你的ak 步骤三:在项目的根目录中创建vue.config.js文件 如果有vue.config.js文件的话,直接添加以下代码即可. vue.config
-
Vue集成百度地图实现位置选择功能
目录 Vue集成百度地图实现位置选择 百度地图选择地址效果 集成百度地图的具体实现 第一步:引入百度地图 JavaScript API v3.0 文件 第二步:编写百度地图选择位置组件 第三步:使用百度地图选择位置组件 百度地图Web开发 参考文章 Vue集成百度地图实现位置选择 需求:添加门店时,需要选择门店的省.市.区.详细地址.以及门店的经纬度信息. 解决方案:集成百度地图API,通过在地图上搜索或者点击获取门店的具体位置信息. 百度地图选择地址效果 具体效果如下图所示 集成百度地图的具体
-
Vue的百度地图插件尝试使用
百度地图插件 安装 CDN全局安装 <script src="https://unpkg.com/vue-baidu-map"></script> 插件的引入 Vue.use(VueBaiduMap.default, { ak: 'YOUR_APP_KEY', }) ak 是在百度地图开发者平台申请的密钥 详见 http://lbsyun.baidu.com/apico... 地图视图 BmView 是用于渲染百度地图实例可视化区域的容器 使用 Bmview 渲
-
Map.vue基于百度地图组件重构笔记分享
Map.vue是为iview组件开发的一个基于百度地图的组件,实现了点是否在框内的判断,画多边形覆盖物,添加自定义富文本标记物等功能. 第一步:重构自定义的富文本对象,设置为全局对象. 原代码的富文本对象是声明在addResource这个方法里面的,代码结构非常复杂,在beforeCreate这个钩子函数里面申明为全局的,就可以多次复用,不需要重复声明来了, 否则,每调用一次paintPolygon方法,都要重新声明一次,非常麻烦,效率太低下. 原代码是在父组件中处理好这个富文本对象需要的数据,
-
如何在vue中使用百度地图添加自定义覆盖物(水波纹)
简介 一如既往,我来给大家分享一个项目中遇到的比较有意思的需求并介绍一下相应的实现过程. 话不多说,直接上图: 具体的应用场景简而言之就是需要我们在地图上添加如图中所示的自定义覆盖物.实现的过程作者分为以下两点给大家介绍介绍. 水波紋的实现 自定义覆盖物的实现 水波紋的实现 这个需求的实现肯定是离不开我们自己写自定义覆盖物的,那么首先我们来讨论一下水波纹动画的实现. 首先我们可以看到图中的覆盖物是由一个红心和水波紋组成,其中红心是固定不动的,那么我们可以直接这么写: <div class="
随机推荐
- spring四种依赖注入方式的详细介绍
- 模仿JQuery.extend函数扩展自己对象的js代码
- Windows下使用批处理实现启动关闭mysql
- 无组件上传图片之文件采用方案
- 单个select语句实现MySQL查询统计次数
- node.js爬虫爬取拉勾网职位信息
- javascript里使用php代码实例
- 编写一个含二级目录的源码(Asp+JavaScript)
- 生成EAN13标准的条形码的ASP代码实例
- 配置iptables,把80端口转到8080的简单方法
- 详解C# 利用反射根据类名创建类的实例对象
- Android实现使用流媒体播放远程mp3文件的方法
- 浅谈shiro的SecurityManager类结构
- 在ASP.NET 2.0中操作数据之四十一:DataList和Repeater数据分页
- Android评论功能的实现过程
- Spring Boot @Async 异步任务执行方法
- 详解python中init方法和随机数方法
- 使用Vue中 v-for循环列表控制按钮隐藏显示功能
- linux环境下Django的安装配置详解
- tensor和numpy的互相转换的实现示例