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

相关推荐
摘星编程9 小时前
Flutter for OpenHarmony 实战:CustomScrollView 自定义滚动视图详解
android·javascript·flutter
xiaomin-Michael9 小时前
websocket学习
javascript
xiaomin-Michael10 小时前
JS setTimeout
javascript
Irene199110 小时前
Vue3 <script setup> 中不需要使用 defineComponent
vue.js·definecomponent
confiself10 小时前
前端代码渲染截图方案
前端
xkxnq10 小时前
第二阶段:Vue 组件化开发(第 21天)
前端·javascript·vue.js
wayne21410 小时前
Zustand在ReactNative中的工程实践与性能优化总结
javascript·react native·react.js
阿珊和她的猫10 小时前
深入理解 React 中的 Render Props 模式
前端·react.js·状态模式
内存不泄露10 小时前
基于 Spring Boot 的医院预约挂号系统(全端协同)设计与实现
java·vue.js·spring boot·python·flask
森叶10 小时前
Cookie 和 Token 的应用场景优势比较 & Cookie 不能使用的场景补充
javascript