Element-Plus的ClickOutside指令导致内存泄漏

引起内存泄漏的源码如下

js 复制代码
var startClick = void 0;
var seed = 0;

!_vue2.default.prototype.$isServer && (0, _dom.on)(document, 'mousedown', function (e) {
  return startClick = e;
});

该内存泄漏该如何解决呢?

答案是不需要解决, 因为当鼠标点击任何其他地方时, 上述游离节点会被回收。 因为鼠标点击时,会再次触发document上绑定的mousedown事件, 此时startClick会被赋值新的值。从而startClick和游离节点解除绑定, 游离节点被正常回收。

当然最好的解决是在回调函数内部加上一层判断。对于没有绑定该指令的元素就不要给startClick赋值了。

官网反馈

github.com/element-plu...

相关推荐
Drift_Dream几秒前
深入浅出 requestAnimationFrame:让动画更流畅的利器
javascript
GIS瞧葩菜4 分钟前
【无标题】
开发语言·前端·javascript·cesium
T___T10 分钟前
彻底搞懂 CSS 盒子模型 box-sizing:小白也能看懂的布局核心
前端·面试
彭于晏爱编程12 分钟前
关于表单,别做工具库舔狗
前端·javascript·面试
空白格9712 分钟前
Android插件化开发
前端
风中凌乱的L14 分钟前
vue canvas标注
前端·vue.js·canvas
拉不动的猪16 分钟前
什么是二义性,实际项目中又有哪些应用
前端·javascript·面试
海云前端118 分钟前
Webpack打包提速95%实战:从20秒到1.5秒的优化技巧
前端
烟袅23 分钟前
LeetCode 142:环形链表 II —— 快慢指针定位环的起点(JavaScript)
前端·javascript·算法
梦65026 分钟前
什么是react?
前端·react.js·前端框架