vue路由中有一个方法scrollBehavior可以实现。如果在路由元信息配置了位置则跳转到配置的位置,若没配置即跳转到页面顶部。
const router = new Router({
mode: 'history',
routes: constantRouter,
scrollBehavior(to, from, savedPosition) {
if (savedPosition) {
return savedPosition
} else {
return { x: 0, y: to.meta!.savedPosition || 0 }
}
},
}) as any