From 02d83e5ecc21d6b3ef9c9e3f3c503bbf2738fff2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Peixoto?= Date: Thu, 15 Apr 2021 18:06:10 +0100 Subject: [PATCH] fix: remove load more observer on destroy --- src/.vuepress/theme/layouts/Blog.vue | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/.vuepress/theme/layouts/Blog.vue b/src/.vuepress/theme/layouts/Blog.vue index 64eec2f0..087f5478 100644 --- a/src/.vuepress/theme/layouts/Blog.vue +++ b/src/.vuepress/theme/layouts/Blog.vue @@ -80,6 +80,7 @@ export default { numberOfPagesToShow: 24, infiniteScroll: false, delayValues: [0, 0.15, 0.3], + observer: null, } }, computed: { @@ -211,14 +212,14 @@ export default { this.$store.commit('appState/setAuthorsList', authorsArray) }, mounted() { - const observer = new IntersectionObserver( + this.observer = new IntersectionObserver( this.handleBottomVisibilityChange, { threshold: 1.0, } ) - observer.observe(document.querySelector('footer.footer ul')) + this.observer.observe(document.querySelector('footer.footer ul')) const { query } = this.$route const newQuery = pick(Object.assign({}, query), [ @@ -319,6 +320,9 @@ export default { this.$store.commit('appState/setLatestWeeklyPost', latestWeeklyPost) }, + beforeDestroy() { + this.observer.disconnect() + }, methods: { updateQuery() { const newQuery = {