vue开发之路由守卫

vue开发之路由守卫

貌似除了router.afterEach每个守卫方法接收三个参数,router.afterEach少了next:

  • to: Route: 即将要进入的目标 路由对象

  • from: Route: 当前导航正要离开的路由

  • next: Function: 一定要调用该方法来 resolve 这个钩子。执行效果依赖 next 方法的调用参数

//全局守卫
const router = new VueRouter({ ... })
//跳转之前
router.beforeEach((to, from, next) => {
  console.log('在每次路由切换成功进入激活阶段时被调用')
})
//跳转之前,
# 全局后置钩子
router.beforeResolve((to, from, next) => {
  console.log('router.beforeResolve 注册一个全局守卫。这和 router.beforeEach 类似,区别是在导航被确认之前,同时在所有组件内守卫和异步路由组件被解析之后,解析守卫就被调用。')
})

//并且少了一个参数next(),不需要调用next进入
router.afterEach((to, from, next) => {
  // ...
})

组件守卫


beforeRouteEnter((to, from, next) => {
  console.log('进入组件之前')
})  

beforeRouteLeave ((to, from, next) => {
  console.log('离开组件之后')
})  

beforeRouteUpdate((to, from, next) => {
  console.log('该组件被复用时调用(2.2 新增)')
})   

路由独享的守卫

const router = new VueRouter({
  routes: [
    {
      path: '/foo',
      component: Foo,
      beforeEnter: (to, from, next) => {
        // ...
      }
    }
  ]
})

动态添加路由

//添加一条新路由规则。如果该路由规则有 name,并且已经存在一个与之相同的名字,则会覆盖它、原来的addRoutes 已经废弃
router.addRoute()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值