使用前端路由,当切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样。
- vue-router中有一个滚动行为-scrollBehavior ,
const router = createRouter({
history: createWebHashHistory(),
routes: [...],
scrollBehavior (to, from, savedPosition) {
// return 期望滚动到哪个的位置
// vue2.0 x y 控制
// vue3.0 left top 控制
return { left: 0, top: 0 } }
})
- 加全局守卫
在main.js中加
router.afterEach((to,from,next)=>{
window.scrollTo(0,0);
})