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 = {