问题:使用keep-alive标签后部分安卓机返回缓存页位置不精确问题
解决方案:
<div id="app"> <keep-alive> <router-view v-if="$route.meta.keepAlive"></router-view> </keep-alive> <router-view v-if="!$route.meta.keepAlive"></router-view> </div> const router = new Router({ scrollBehavior(to, from, savedPosition) { if (savedPosition && to.meta.keepAlive) { return savedPosition; } return { x: 0, y:0 }; }, });
2. 页面返回出现空白屏问题
问题
【前提】:iOS设备
【步骤】: 页面A是个列表很长-->滑到页脚的时候点击跳转之后到页面B--->再返回A页面
--->屏幕会出现空白遮罩层--->手指轻触屏幕滑动--->遮罩层消失
解决方案一
在接口请求成功后的回调操作完成后进行该操作,例如
// fetchCourseList是一个封装好的Promise请求 fetchCourseList().then(({ data: courses }) => { this.courses = courses; }).then(() => { setTimeout(() => { window.scrollTo(0, 1); window.scrollTo(0, 0); }); });
该方案的弊端: 每个页面都需要做这样的处理,不推荐使用。
解决方案二(推荐)
使用scrollBehavior中的异步滚动操作
const router = new Router({ scrollBehavior(to, from, savedPosition) { // keep-alive 返回缓存页面后记录浏览位置 if (savedPosition && to.meta.keepAlive) { return savedPosition; } // 异步滚动操作 return new Promise((resolve) => { setTimeout(() => { resolve({ x: 0, y: 1 }); }, 0); }); }, });
该方案直接在路由进行处理,兼容每个页面并且页面加载完后并也不会产生1px的滚动位置。
总结
以上所述是小编给大家介绍的vue-router中scrollBehavior的巧妙用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
本文向大家介绍python字典的setdefault的巧妙用法,包括了python字典的setdefault的巧妙用法的使用技巧和注意事项,需要的朋友参考一下 现在有一个员工字典,类似这样的结构 假设我们要给员工添加爱好信息,但是我们不知道hobby这个键存不存在,我们通常的做法是分为三步: 1)从字典中取到hobbies对应的值,如果没有hobbies这个键,则设置这个值为空列表 2)对这个值进
本文向大家介绍Docker与Golang的巧妙结合,包括了Docker与Golang的巧妙结合的使用技巧和注意事项,需要的朋友参考一下 Docker与Golang的巧妙结合 【编者的话】这是一个展示在使用Go语言时如何让Docker更有用的提示与技巧的简辑。例如,如何使用不同版本的Go工具链来编译Go代码,如何交叉编译到不同的平台(并且测试结果!),或者如何制作真正小的容器镜像。 下面的文章假定你
本文向大家介绍Vue-Router的使用方法,包括了Vue-Router的使用方法的使用技巧和注意事项,需要的朋友参考一下 使用 Vue.js 做项目的时候,一个页面是由多个组件构成的,所以在跳转页面的时候,并不适合用传统的 href,于是 vue-router 应运而生。 路由,其实就是指向的意思,当我点击页面上的home按钮时,页面中就要显示home的内容,如果点击页面上的about 按钮,页
Vue Router 是 Vue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。包含的功能有: 嵌套的路由/视图表 模块化的、基于组件的路由配置 路由参数、查询、通配符 基于 Vue.js 过渡系统的视图过渡效果 细粒度的导航控制 带有自动激活的 CSS class 的链接 HTML5 历史模式或 hash 模式,在 IE9 中自动降级 自定义的滚动条行
本文向大家介绍vue-router的hooks用法详解,包括了vue-router的hooks用法详解的使用技巧和注意事项,需要的朋友参考一下 虽然Vue 3还没有正式发布,但是热爱新技术的我早已按捺不住自己的内心,开始尝试在小项目中使用它了。 根据这篇《今日凌晨Vue3 beta版震撼发布,竟然公开支持脚手架项目!》我搭建了一个Vue 3的脚手架项目,用这种方式搭建的脚手架项目不仅仅只有vue是
A simple router implementation that is suitable for NativeScript-Vue. Prerequisites / Requirements All your own components must have unique name All routes name must have unique name Your app need a m