网上方法在路由js里面添加
const router = createRouter({
history: createWebHistory(process.env.BASE_URL),
routes,
// 添加:
scrollBehavior(to, from, savedPosition) {
if (savedPosition) {
return savedPosition;
}
return { x: 0, y: 0 };
},
});
实际在我的项目里没有生效,打印输出savedPosition,在console中看到:
实际不是x和y,而是left和top(不使用keep-alive,那么savePosition会一直是null)
改为
scrollBehavior(to,from,savePosition){
if(savePosition){
console.log('savePosition:', savePosition)
//解决页面从列表页跳转到详情页返回,初始在原来位置
return savePosition
}
return {left:0,top:0}
}