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


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

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

在安卓下面貌似沒什么 問題,滾動到哪里 還是到原來 的位置。在IOS下滾動的位置變了,經自己IP6測試滾動位置都是222,

后來用百度各種方法,vuex什么的自己也試過還是不行。。后面還是找到了解決方法,

main.js里面,生成 router時添加以下代碼。

    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配置文件里面添加指定 的緩存屬性就可以了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM