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...

相关推荐
蜗牛攻城狮11 小时前
JavaScript 尾递归(Tail Recursion)详解
开发语言·javascript·ecmascript
坐吃山猪12 小时前
Electron04-系统通知小闹钟
开发语言·javascript·ecmascript
小飞侠在吗12 小时前
vue toRefs 与 toRef
前端·javascript·vue.js
csuzhucong12 小时前
斜转魔方、斜转扭曲魔方
前端·c++·算法
老华带你飞12 小时前
房屋租赁管理|基于springboot + vue房屋租赁管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·毕设
燃烧的土豆12 小时前
100¥ 实现的React项目 Keep-Alive 缓存控件
前端·react.js·ai编程
半生过往12 小时前
前端运行PHP 快速上手 使用 PHPStudy Pro 详细搭建与使用指南
开发语言·前端·php
zlpzlpzyd12 小时前
ecmascript中Promise和async/await的区别
开发语言·前端·ecmascript
streaker30312 小时前
从零实现一个“类微信”表情输入组件
前端·vue.js·element
小明记账簿_微信小程序12 小时前
js、node.js获取指定文件下的内容
前端