vue路由守卫

全局路由守卫
  • 前置守卫

在进入路由之前执行

beforeEach(to,from,next){
	//to 即将要进入的目标路由对象
	//from 导航要离开的路由对象 
	//next() //这里要使用next放行 否则无法创建实例
}
//全局守卫
router.beforeEach((to, from, next)=> {
// 判断是否登录
 if(sessionstorage.getItem("isLogin") == "1") {
		next()
 }else {
 	// 如果没有登录,但是跳转登录页面也放行
	if(to.name == 'login') {
		next()
	}else {
		// 如果没有登录,也不是去登录页,就拦截,让它跳转登录页
		next('/login')
	}
 }
);

  • 后置守卫

在离开路由的时候执行

afterEach(to.from){
	//
}
局部路由守卫

是在路由配置页面单独给路由配置的守卫

 export default new VueRouter({
     routes: [
         {
             path: '/',
             name: 'home',
             component: 'Home',
             beforeEnter: (to, from, next) => {
                // ...
             }
         }
     ]
 })

组件内路由守卫

写在vue文件里 跟 methods同级别书写

beforeRouterEnter(to,from,next){
	//在进入路由之前 组件实例还未渲染 所以此时this无法使用
	next() //这里要使用next放行
}
beforeRouteUpdate(to,from,next){
	//同一页面刷新不同数据时调用
}
beforeRouteLeave(to,from,next){
	//离开当年前路由页面的时候调用
}
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值