В итоге помогли две вещи:
1. В файле
router оставил метод
scrollBehavior() {
return { x: 0, y: 0 }
}
чтобы при любых переходах страница отображалась сверху;
2. На самой странице (
/page) в
mounted() написал
let elem = document.querySelector(this.$route.hash)
elem.scrollIntoView({ block: 'start', behavior: 'smooth' })
Но все же странно, что решение в документации ко
vue-router не захотело у меня работать...
scrollBehavior(to, from, savedPosition) {
if (to.hash) {
return { selector: to.hash }
} else {
return { x: 0, y: 0 }
}
}