路由守卫
作用:对路由进行权限控制
路由守卫可以给开路由添加权限判断,例如
用户未登录就不能去某个页面,登录之后可以去到一些页面
如下:
-
to:要跳转到的路由目标
-
from:从哪里跳转的路由 来源
-
next:函数体 必须要next()才会让路由正常地跳转和切换,next(false)在原地停留,next(“强制修改到另一个路由路径上”)
注意:一定要调用next,如果不调用next,那么页面不会跳转的
全局路由在真正跳转之前,会执行一次beforeEach函数,next调用则跳转,也可以强制修改要跳转的路由
router.beforeEach((to,from,next) => {
//路由跳转“之前”先执行这里,决定是否跳转
let isLogin = false; //未登录
if (to.path === '/center' && isLogin === false) {
this.$message.success("请登录")
next(false) //阻止路由跳转
}else {
next() //正常放行
}
})
-
全局守卫:
//全局前置守卫:初始化时执行、每次路由切换前执行 router.beforeEach((to,from,next)=>{ console.log('beforeEach',to,from) if(to.meta.isAuth