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

相关推荐
石小石Orz15 分钟前
浏览器的预检请求OPTIONS到底有什么用?
前端
落雪小轩韩18 分钟前
网格布局 CSS Grid
前端·css
parade岁月21 分钟前
Vue 3 父子组件模板引用的时序陷阱与解决方案
前端
xianxin_26 分钟前
CSS Outline(轮廓)
前端
moyu8426 分钟前
遮罩层设计与实现指南
前端
柯南952726 分钟前
Vue 3 reactive.ts 源码理解
vue.js
Sammyyyyy32 分钟前
2025年,Javascript后端应该用 Bun、Node.js 还是 Deno?
开发语言·javascript·node.js
Pedantic35 分钟前
用 SwiftUI 打造一个 iOS「设置」界面
前端
柯南952737 分钟前
Vue 3 Ref 源码解析
vue.js
timeweaver41 分钟前
深度解析 Nginx 前端 location 配置与优先级:你真的用对了吗?
前端·nginx·前端工程化