记录下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

相关文章
相关标签/搜索