vue路由导航守卫

本文详细介绍了Vue.js中的路由导航守卫,包括全局的、路由独享的和组件级的守卫。通过beforeEach、beforeEnter和beforeRouteUpdate等方法实现不同阶段的导航控制,如身份验证、页面跳转等。同时,文章阐述了完整的导航解析流程,从导航触发到DOM更新的各个阶段。
摘要由CSDN通过智能技术生成
分为: 全局的、耽搁路由独享的、组件级的
全局路由守卫
  • 全局前置守卫router.beforeEach
  • 全局解析守卫router.beforeResolve
  • 全局后置钩子router.afterEach
全局前置守卫

可以使用 router.beforeEach 注册一个全局前置守卫:
每个守卫方法接收三个参数:

  • to: Route: 即将要进入的目标路由对象
  • from: Route: 当前导航正要离开的路由
  • next: Function: 钩子函数,里面定义参数,确认下一步路由要做什么

next(’/’)或者 next({ path: ‘/’ }): 跳转到一个不同的地址。当前的导航被中断,然后进行一个新的导航。你可以向 next 传递任意位置对象,next({name: ‘home’}) 。

一般应用在用户未能验证身份时重定向到 /login :

路由独享的守卫

可以在路由配置上直接定义 beforeEnter 守卫:

组件内的守卫

可以在路由组件内直接定义以下路由导航守卫:

  • 进组组件前的守卫 beforeRouteEnter
  • 路由更新时的守卫 beforeRouteUpdate (2.2 新增)
  • 离开组件时的守卫 beforeRouteLeave

完整的导航解析流程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值