2023一文聊聊Vue中的全局守卫

 所属分类:web前端开发

 浏览:86次-  评论: 0次-  更新时间:2023-03-02
描述:更多教程资料进入php教程获得。 Vue中怎么进行全局守卫?下面本篇文章带大家聊聊Vue中的全局守卫,希望对大家有所帮助!前言:项目中大多数...
更多教程资料进入php教程获得。

Vue中怎么进行全局守卫?下面本篇文章带大家聊聊Vue中的全局守卫,希望对大家有所帮助!

前言:项目中大多数都是通过路由来进行跳转的,但是普遍的都会进行登陆验证后才能进入下一页面,这时候就需要守卫了,本博文主要讲解vue中的全局守卫 。

全局守卫

main.js中进行配置:

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() // 如果已经登陆,那就可以跳转
  }
})
登录后复制

【相关推荐:vuejs视频教程、web前端开发】

参数详解:

  • “to”: 即将要进入的目标路由对象;(包含name,params,meta等属性)

  • “from”: 当前导航正要离开的路由对象;(包含name,params,meta等属性)

  • “next”: 确保要调用 next() 方法,否则钩子就不会被 resolved。这个当中还可以传一些参数。

钩子函数:钩子函数是在一个事件触发的时候,在系统级捕获到了他,然后做一些操作。一段用以处理系统消息的程序。“钩子”就是在某个阶段给你一个做某些处理的机会。

(学习视频分享:vuejs入门教程、编程基础视频)

以上就是一文聊聊Vue中的全局守卫的详细内容,更多请关注zzsucai.com其它相关文章!

 标签: 全局守卫,Vue,
积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

讨论这个素材(0)回答他人问题或分享使用心得奖励金币

〒_〒 居然一个评论都没有……

表情  文明上网,理性发言!