VueRouter在做单页应用时滑动卡顿真是让人火大!用户体验瞬间变差,还让我自己也不爽。不过还好,VueRouter够机智地给了我们解决方案。别急,今天就让你们看看这个妙招和我吸取到的教训哈。
理解VueRouter的滚动行为
第一次接触VueRouter的滑动导航是不是觉得很难?不用担心,只需要理解scrollBehavior就行了。在创建路由实例时,这个函数就会出现,它会接收到三个小伙伴:to(目的地)、from(起点)和savedPosition(上次停留在哪里)。了解了它们,你就能随心所欲地操作网页滑动!
滚动到指定锚点位置
想要让网站看起来整洁有序?只要在每个网页里设定好自己的目的地就行了。用VueRouter的话,只需要给网址后面加上个小小的#号,就能轻松跳转到你想去的页面。这样一来,浏览和切换都变得超级便利,轻而易举就能完成操作了哈~
import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter) const routes = [ // 路由配置 ] const router = new VueRouter({ routes, scrollBehavior (to, from, savedPosition) { // 控制滚动行为的逻辑 } })
滚动到上次离开的位置
真心好用这个功能如果突然换了路由器,想要回到之前的页面怎么办?只需要轻轻一点,网页立马听话地跳回原来的位置!真的是超级方便!
scrollBehavior (to, from, savedPosition) { if (to.hash) { return { selector: to.hash } } }
滚动到页面顶部
看页面换来换去好烦吧?设置下,让用户一开网页就看到顶层不就行了。怎么弄?VueRouter一招解决,超轻松!
scrollBehavior (to, from, savedPosition) { if (savedPosition) { return savedPosition } }
自定义滚动行为逻辑
关于VueRouter的那个滚动效果,真的是超级给力!但有时候还要看你具体需求来定,对不对?那就得自己动手搞个scrollBehavior函数了这样用起来才好玩儿,用户也才能更快掌握这个应用
使用全局导航守卫控制滚动行为
scrollBehavior (to, from, savedPosition) { return { x: 0, y: 0 } }
加个scrollBehavior跟window.scrollTo,页面滑动随你调。
总结与反思
scrollBehavior (to, from, savedPosition) { // 编写自己的滚动行为逻辑 }
折腾半天,总算搞定了VueRouter的卷轴功能。无论你想去哪儿,或者想要自定义啥,它都有帮助。用这货码代码特别带感,好用的工具真的能提高效率和用户体验!
好,咱们来谈谈你们用VueRouter操作网站滚动舒服吗?你们都是咋弄得?希望这对你们有帮助!别忘了喊上大伙儿一起探讨,顺便点个赞鼓励下。
评论0