From e8355e5074d39f2cd59e476c40985cf3230cea8b Mon Sep 17 00:00:00 2001 From: 07akioni <07akioni2@gmail.com> Date: Wed, 21 Apr 2021 19:56:30 +0800 Subject: [PATCH] site: robust scroll by hash --- demo/Site.vue | 6 ------ demo/routes/router.js | 7 +++++++ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/demo/Site.vue b/demo/Site.vue index e55606f59..d41aa97f1 100644 --- a/demo/Site.vue +++ b/demo/Site.vue @@ -29,12 +29,6 @@ export default { onMounted(() => { loadingBarApiRef.value = loadingBar loadingBar.finish() - const memoedHash = window.location.hash - if (memoedHash) { - // scroll to hashed element - window.location.hash = '' - window.location.hash = memoedHash - } }) return { isXs: isXsRef diff --git a/demo/routes/router.js b/demo/routes/router.js index c6129090f..741e9c34a 100644 --- a/demo/routes/router.js +++ b/demo/routes/router.js @@ -1,3 +1,4 @@ +import { nextTick } from 'vue' import { createRouter, createWebHistory } from 'vue-router' export const loadingBarApiRef = {} @@ -22,6 +23,12 @@ export default function createDemoRouter (app, routes) { if (loadingBarApiRef.value) { loadingBarApiRef.value.finish() } + if (to.hash) { + nextTick(() => { + const el = document.querySelector(to.hash) + if (el) el.scrollIntoView() + }) + } } })