问答

vue路由守卫return false,并没有reset浏览器url,有遇到同样问

作者:admin 2021-04-16 我要评论

vue-router@4.0.5 const routes = [ { path: '/login', name: 'login', component: () = import('@/views/login/index') }, { path: '/:pathMatch(.*)*', name: ...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

vue-router@4.0.5

const routes = [
  { path: '/login', name: 'login', component: () => import('@/views/login/index') },
  { path: '/:pathMatch(.*)*', name: 'exception404', component: () => import('@/views/exception/404') }
]

router.beforeEach((to, from) => {
  if (to.name === 'login') {
    return true
  } else if (from.name === 'login') {
    return false
  }
  return { name: 'login', replace: true }
})

启动时由/跳转至/login,此时url为 ‘localhost:8080/#/login’,然后手动修改url为‘localhost:8080/#/a’,回车,页面还是login的页面,但是url没有变,还是‘localhost:8080/#/a’

文档写:

  • false: 取消当前的导航。如果浏览器的 URL 改变了(可能是用户手动或者浏览器后退按钮),那么 URL 地址会重置到 from 路由对应的地址。

从/login跳转到/a,路由守卫return false取消了导航,但是url并没有重置成/login

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • nginx响应速度很慢

    nginx响应速度很慢

  • 点击选中的多选框,会在已选那一栏显示

    点击选中的多选框,会在已选那一栏显示

  • PHP 多态的理解

    PHP 多态的理解

  • 关于C语言中static的问题

    关于C语言中static的问题

腾讯云代理商
海外云服务器