Vue中怎么进行全局守卫?下面本篇文章带大家聊聊Vue中的全局守卫,希望对大家有所帮助!前言:项目中大多数都是通过路由来进行跳转的,但是普遍的都会进行登陆验证后才能进入下一页面,这时候就需要守卫了,本博文主要讲解vue中的全局守卫 。全局守
Vue中怎么进行全局守卫?下面本篇文章带大家聊聊Vue中的全局守卫,希望对大家有所帮助!
前言:项目中大多数都是通过路由来进行跳转的,但是普遍的都会进行登陆验证后才能进入下一页面,这时候就需要守卫了,本博文主要讲解vue中的全局守卫 。
import Vue from 'vue'
import App from './App'
import router from './router'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.CSS'
// 全局守卫
router.beforeEach((to, from, next) => {
// 获取登陆状态
let isLogin = sessionStorage.getItem('sid') //存储的sessionStorage的信息,登陆时使用sessionStorage.setItem('sid', '已登录') 设置本地存储信息
if (to.name === 'login') { // 如果是登录页,则跳过验证
next() //钩子函数
return
}
if (!isLogin) { // 判断登陆状态,sessionStorage不存在的情况下
ElementUI.Message({ //提示消息
message: '请先登录系统',
type: 'error'
})
next({
name: 'login'
}) // 如果未登录,则跳转到登录页
} else {
next() // 如果已经登陆,那就可以跳转
}
})
“to”: 即将要进入的目标路由对象;(包含name,params,meta等属性)
“from”: 当前导航正要离开的路由对象;(包含name,params,meta等属性)
“next”: 确保要调用 next()
方法,否则钩子就不会被 resolved
。这个当中还可以传一些参数。
钩子函数:钩子函数是在一个事件触发的时候,在系统级捕获到了他,然后做一些操作。一段用以处理系统消息的程序。“钩子”就是在某个阶段给你一个做某些处理的机会。
以上就是一文聊聊Vue中的全局守卫的详细内容,更多请关注编程网其它相关文章!
--结束END--
本文标题: 一文聊聊Vue中的全局守卫
本文链接: https://www.lsjlt.com/news/207047.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2023-05-25
2023-05-25
2023-05-25
2023-05-25
2023-05-25
2023-05-24
2023-05-24
2023-05-24
2023-05-24
2023-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0