記錄下vue keep-alive IOS下沒法保存滾動scroll位置的問題

最近 作的項目,遇到了一點小麻煩,就是我一個頁面A頁面是加載 列表數據 ,B頁面是展現詳細信息的。A進去B時,緩存A頁面。vue

效果 作出來 後,緩存是緩存數據 了,可是當我A頁面的列表數據 好多,要滾動瀏覽時,點擊到B詳細信息的再次返回A頁面時,vuex

在安卓下面貌似沒什麼 問題,滾動到哪裏 仍是到原來 的位置。在IOS下滾動的位置變了,經本身IP6測試滾動位置都是222,緩存

後來用百度各類方法,vuex什麼的本身也試過仍是不行。。後面仍是找到了解決方法,測試

main.js裏面,生成 router時添加如下代碼。code

    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 };
        }
    }

 

 

在本身router配置文件裏面添加指定 的緩存屬性就能夠了router

相關文章
相關標籤/搜索