vue--路由守卫

全局前置路由守卫 beforeEach

在初始化时执行,每次路由切换前执行

三个参数:

to去哪个路由

from来自哪个路由

next 鉴权结束放行

适用场景:路由之的跳转,权限分级

router.beforeEach((to, from, next)=>{

if(to.meta.isAuth){                           //判断当前路由是否需要进行权限控制

if (localStorage.getItem('username')==='susan'){   //具体条件

next();      }                           //允许进入下一路径,放行

else {      alert('无权查看')    }

else {   next(); }   

  })

全局后置路由守卫afterEach

在初始化时执行,每次路由切换后执行

两个参数(没有next):

to去哪个路由

from来自哪个路由

适用场景:给路由添加title

router.afterEach((to, from)=>{

if (to.meta.title) {

document.title = to.meta.title; }

else {

document.title = 'test'; }

})

独享路由守卫 beforeEnter

配置在路由规则内部,某个路由独享的守卫,可以结合全局后置路由一起使用

beforeEnter (to ,from, next) {

if(to.meta.isAuth){                           //判断当前路由是否需要进行权限控制

if (localStorage.getItem('username')==='susan'){              //具体条件

next();      }                           //允许进入下一路径,放行

else {      alert('无权查看')    }

else {   next(); }   

  })

组件内路由守卫  (分为2种)

可以结合全局后置路由守卫一起使用

beforeRouterEnter

通过路由规则(通过点击跳转路由组件),在进入路由组件时被调用

beforeRouterEnter ((to, from, next) => {

书写组件内部自己的逻辑

})

beforeRouterLeave

通过路由规则(通过点击跳转路由组件),在离开路由组件时调用

beforeRouterLeave ((to, from, next) => {

书写组件内部自己的逻辑

})

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值