From 2058e23b432b136ecabd4cbd067dd3dc10680b44 Mon Sep 17 00:00:00 2001 From: Aroooba Date: Fri, 5 Jan 2024 11:29:02 +0900 Subject: [PATCH] Remove dragover event listener when component unmounts Example10DragFromOutside.vue listens to the dragover events when component is mounted. But this listener is never removed even after the component unmounts. This can lead to potential memory leaks. --- .../.vuepress/components/Example10DragFromOutside.vue | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/website/docs/.vuepress/components/Example10DragFromOutside.vue b/website/docs/.vuepress/components/Example10DragFromOutside.vue index 3fe1f2f2..14355c2b 100644 --- a/website/docs/.vuepress/components/Example10DragFromOutside.vue +++ b/website/docs/.vuepress/components/Example10DragFromOutside.vue @@ -62,15 +62,21 @@ export default { {"x": 4, "y": 5, "w": 2, "h": 5, "i": "8"}, {"x": 5, "y": 10, "w": 4, "h": 3, "i": "9"}, ], - } + + controller: new window.AbortController() + }; }, mounted() { document.addEventListener("dragover", function (e) { mouseXY.x = e.clientX; mouseXY.y = e.clientY; - }, false); + }, { + capture: false, + signal: this.controller?.signal + }); }, beforeDestroy() { + this.controller.abort(); }, methods: { drag: function (e) {