route.js 文件
// 路由開關(guān) keepAlive 控制是否開起緩存
{
path: '/search', name: 'home-search', component: () => import("@/views/v4/Search.vue"), meta: { title: "搜索", keepAlive: true },
},
// 滾動(dòng)高度保存
router.beforeEach((to, from, next) => {
// 離開前記錄滾動(dòng)位置
if(from.meta?.keepAlive) {
sessionStorage.setItem(from.name, document.documentElement.scrollTop)
}
// 返回時(shí)恢復(fù)位置
if(to.meta?.keepAlive) {
document.documentElement.scrollTop = sessionStorage.getItem(to.name) || 0
}
next()
})