路由导航守卫日常

路由导航守卫在Vue.js中用于控制路由访问,如在进入购物车页面前判断用户是否已登录。全局路由导航守卫包括beforeEach(前置守卫)和afterEach(后置守卫),前者用于决定是否允许进入目标路由,后者在路由切换后执行。例如,beforeEach会检查用户token,未登录时重定向至登录页。
摘要由CSDN通过智能技术生成

路由导航守卫:进入路由之前的回调函数,(加上判断)可以控制是否可以进入这个路由,做一个路由拦截和跳转页面。

分为,全局路由导航守卫,组件内导航守卫,独享导航守卫

比如说,当点击商城的购物车的时候,需要判断一下是否登录,如果没有登录,就跳转到登录页面,如果登陆了,就跳转到购物车页面,相当于有一个保安在安检

主要介绍,全局路由导航守卫( beforeEach、 afterEach),路由守卫写在main.js文件,或者写在router文件夹下的index.js文件,

全局路由导航守卫,三个参数,to去哪里,from从哪来,next跳转

又分为前置路由导航守卫,后置路由导航守卫

例:前置

router.beforeEach(function (to, from, next) {
  if (to.path !== '/login') {
    if (store.state.user.token) {
      next()
    } else {
      next('/login')
    }
  } else {
    next()
  }
})

先判断不是去login页面,如果是去login就是正常去登陆

如果不是去login则进入第二个判断,token是不是为true,如果为true则直接跳转点击页面

如果token为false,则需要去login页面登录后,才能正常跳转

后置:全局后置路由守卫作用:初始化的时候被调用、每次切换路由之后被调用

后置相比与前置少了一个值,没有next,例如后置守卫可以更改项目title


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue中,路由导航守卫主要用于守卫导航的过程,可以通过跳转或取消的方式来控制路由的行为。根据官方文档的解释,导航守卫可以分为全局前置守卫、路由独享守卫以及组件级别守卫。全局前置守卫是通过使用router.beforeEach()方法来注册的,可以在进入每个路由之前执行特定的逻辑。除了全局前置守卫,还有其他的导航守卫触发的时机,例如在离开路由的组件中调用beforeRouteLeave、在重用的组件中调用beforeRouteUpdate以及在路由配置中调用beforeEnter等等。这些导航守卫可以帮助我们在路由切换的不同阶段执行一些操作,例如验证用户权限、加载数据等。总的来说,Vue的路由导航守卫提供了一种灵活的方式来控制路由的行为,使我们能够更好地管理和控制应用的导航行为。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Vue - 路由守卫](https://blog.csdn.net/wen110898/article/details/121011493)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [Vue 路由钩子(导航守卫)详解及应用场景](https://download.csdn.net/download/weixin_38630324/14043791)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值