項目中的長列表在進入下一頁返回的時候要回到之前的狀態(tài),在安卓可以,但是ios就不行,會發(fā)現(xiàn)頁面雖然緩存了,但是滾動條的位置卻沒有回到之前的位置。解決辦法是在進入后一個頁面之前,先緩存當(dāng)前的滾動條位置,在進入這個頁面之前就滾動到緩存好的位置即可
const router=new Router({
mode: 'history',
scrollBehavior(to, from, savedPosition) {
if (savedPosition) {
return savedPosition;
} else {
if (from.meta.saveSrollTop) {
from.meta.savedPosition = document.documentElement.scrollTop || document.body.scrollTop;
}
return {x: 0, y: to.meta.savedPosition || 0};
}
},
routes:[]
}
記得在需要使用keep-alive的頁面中設(shè)置saveSrollTop:true
{
path:'/login',
name:'login',
component:resolve=>require(['@/pages/login'],resolve),
meta:{
keepAlive:true,
title:'登錄',
saveSrollTop:true,
}
},