引起内存泄漏的源码如下
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赋值了。