vue路由

本文介绍了Vue路由的导航守卫,详细讲解了如何在beforeEach钩子中实现路径判断与登录拦截,确保用户在访问特定页面前已登录。同时,文章还探讨了如何通过设置router的scrollBehavior选项,实现在页面刷新后返回顶部的功能,保持良好的用户体验。
摘要由CSDN通过智能技术生成

vue路由

1.路由导航守卫

  to: Route: 即将要进入的目标 路由对象
  from: Route: 当前导航正要离开的路由
  在路由守卫中,只有next()是放行,其他的诸如:next(’/logon’) 、 next(to) 或者 next({ …to, replace: true })都不是放行,而是:中断当前导航,执行新的导航。可以这么理解:next() 是放行,但是如果next()里有参数的话,next()就像被重载一样,就有了不同的功能。

  下面这段代码意思是:如果页面要跳转的路径是signInfo或者signInfo-sub并且还没有登录过(即没有获取到token),就要跳转到登录页面获取token

router.beforeEach((to, from, next) => {   //获取token
        const hasToken = sessionStorage.getItem("Authorization");
        const loginPath = '/login'
        if ((to.path == '/signInfo' || to.path == '/signInfo-sub') && !hasToken) {
            next(loginPath)
        } else {
            next()
        }
    })
2.页面刷新回到页面顶部的方法

  在Vue项目中,访问过的页面,在滚动到某个位置后,再次刷新页面,页面仍处于上次访问过的位置。为了想页面回到顶部,只需要对路由进行修改,在router下index.js中:

export default new Router({
  routes: [{...}],
  scrollBehavior(to, from,savedPosition) {
    return {
      x: 0,
      y: 0
    }
  }
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值