From a082fce977fd1f81eb1c58348441433f507fbc3c Mon Sep 17 00:00:00 2001 From: Peter Olu Date: Sun, 24 Apr 2022 05:24:11 +0100 Subject: [PATCH] unobserve if component unmounts --- src/views/dashboard/controls/Tab.vue | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/views/dashboard/controls/Tab.vue b/src/views/dashboard/controls/Tab.vue index 113487ec..584a6d79 100644 --- a/src/views/dashboard/controls/Tab.vue +++ b/src/views/dashboard/controls/Tab.vue @@ -205,7 +205,7 @@ export default defineComponent({ document?.getElementById(`tabitem${e}`)?.scrollIntoView(); } - function observeItems() { + function observeItems(kill = false) { const observer = new IntersectionObserver((entries) => { entries.forEach( (element) => { @@ -224,6 +224,11 @@ export default defineComponent({ document.querySelectorAll(".tabitem").forEach((element) => { observer.observe(element); }); + if (kill) { + document.querySelectorAll(".tabitem").forEach((element) => { + observer.unobserve(element); + }); + } } watch( @@ -319,7 +324,7 @@ export default defineComponent({ } }); onBeforeUnmount(() => { - observeItems.unobserve(); + observeItems(true); }); return { currentItem,