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

相关推荐
兆子龙31 分钟前
ahooks useRequest 深度解析:一个 Hook 搞定所有请求
java·javascript
兆子龙33 分钟前
React Suspense 从入门到实战:让异步加载更优雅
java·javascript
sure28233 分钟前
React Native中创建自定义渐变色
前端·react native
KKKK1 小时前
SSE(Server-Sent Events)流式传输原理和XStream实践
前端·javascript
子兮曰1 小时前
Humanizer-zh 实战:把 AI 初稿改成“能发布”的技术文章
前端·javascript·后端
Din2 小时前
主动取消的防抖
前端·javascript·typescript
百度地图汽车版2 小时前
【AI地图 Tech说】第九期:让智能体拥有记忆——打造千人千面的小度想想
前端·后端
臣妾没空2 小时前
Elpis 全栈框架:从构建到发布的完整实践总结
前端·后端
H5开发新纪元2 小时前
Nginx 部署 Vue3 项目完整指南
前端·javascript·面试
决斗小饼干2 小时前
跨语言移植手记:把 TypeScript 的 Codex SDK 请进 .NET 世界
前端·javascript·typescript