关于
vue中的全局导航守卫 判断是否登录进行页面的跳转
router.beforeEach((to, from, next) => {
if(to.matched.some(record => !record.meta.noCheckSession)) {
// 这个路由需要auth,检验是否登录了.
let isLogin = auth.checkAuth()
// console.log('need login', isLogin);
if(!isLogin){
// 没有登录,重定向到登录页面
console.error('Place login!')
next({
path: '/login',
query: { redirect: to.fullPath }
})
}else{
next()
}
}else{
next()
}
}
如果未登录 直接 next(
path:'/login'
})
query: { redirect: to.fullPath } 有什么作用
next({ path: '/' })
: 跳转到一个不同的地址query: { redirect: to.fullPath }
:传递一个名为redirect的参数,值为to.fullPathvueRouter路由守卫
vueRouter路由组件传参