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

相关推荐
松涛和鸣几秒前
DAY43 HTML Basics
linux·前端·网络·网络协议·tcp/ip·html
前端 贾公子6 分钟前
剖析源码Vue项目结构 (一)
前端·javascript·vue.js
狂龙骄子9 分钟前
jQuery表单验证插件全攻略
前端·javascript·jquery·jquery表单验证
十铭忘25 分钟前
Vue3实现Pixso中的钢笔工具
开发语言·javascript·vue
forestsea26 分钟前
从 XMLHttpRequest 到 Fetch API:现代前端网络请求的演进与迁移指南
前端·网络
XiaoYu200232 分钟前
第4章 Nest.js业务合并
前端
局i37 分钟前
【无标题】
前端·javascript·vue.js
前端小L1 小时前
双指针专题(四):像毛毛虫一样伸缩——「长度最小的子数组」
javascript·算法·双指针与滑动窗口
沛沛rh451 小时前
React入门:从一个简单的Hello World开始
前端·react.js·前端框架
谢尔登1 小时前
Vue3 应用实例创建及页面渲染底层原理
javascript·vue.js·ecmascript