跳至主要內容

滚动行为

刘春龙原创...小于 1 分钟WEB前端Vue3路由教程文档

使用前端路由,当切换到新路由时,想要页面滚到顶部,或者是保持原先的滚动位置,就像重新加载页面那样。 vue-router 能做到,而且更好,它让你可以自定义路由切换时页面如何滚动

import { createRouter, createWebHistory } from "vue-router";

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: "/",
      name: "home",
      meta: {
        requiresAuth: true,
        transition: "slideLeft",
      },
      component: () => import("../views/home/home.vue"),
    },
    {
      path: "/about",
      name: "about",
      component: () => import("../views/about/about.vue"),
      meta: {
        requiresAuth: false,
        transition: "slideRight",
      },
    },
  ],
  scrollBehavior(to, from, savedPosition) {
    if (savedPosition) {
      return savedPosition;
    } else {
      return { top: 0 };
    }
  },
});

export default router;
























 
 
 
 
 
 
 



当然,也可以进行延迟滚动

scrollBehavior (to, from, savedPosition) {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
        if (savedPosition) {
            return savedPosition;
        } else {
            return { top: 0 };
        }
     }, 500)
  })
}
上次编辑于:
贡献者: 刘春龙
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.7