Vue Прокрутка вверх при загрузке страницы - PullRequest
0 голосов
/ 30 марта 2020

Я сейчас использую Gridsome на моем сайте портфолио . Но когда я нахожусь в нижней части страницы на мобильном устройстве или планшете, которая длиннее страницы, на которую я перехожу, страница не прокручивается вверх Firefox. В Google Chrome он работает нормально.

Я использую следующий код для прокрутки к началу страницы:

window.onbeforeunload = function () {
    window.scrollTo(0, 0);
}

Я пробовал другие решения, но ничего не получается Работа. Я не хочу использовать jquery для этого решения.

1 Ответ

0 голосов
/ 31 марта 2020

Измените вашу router конфигурацию следующим образом:

const router = new VueRouter({
  routes: [...],
  scrollBehavior (to, from, savedPosition) {
    return { x: 0, y: 0 }
  }
})

Это будет прокручиваться вверх при каждом route изменении.

Если вы не используете vue-router, тогда добавьте следующий код в хук mounted() вашего компонента.

setTimeout(() => {
  document.body.scrollTop = document.documentElement.scrollTop = 0;
}, 500);
...