vue vue-router实现路由拦截功能
vue vue-router实现路由拦截功能
1、目录结构
2、设置路由拦截、
路由配置如下,在这里自定义了一个对象的参数meta: {authRequired: true}来标记哪些路由是需要登录验证的,导航被触发的时候只要判断是否目标路由中是否有meta这个对象,且meta包含authRequired属性,其值为true。这里访问带有meta对象的路由是被拦截的。
{path: '/config',name: 'config',meta: { requireAuth: true},component: Config},{path: '/about1',name: 'about1',meta: { requireAuth: true},component: About1},{path: '/app',name: 'app',component: App},{path: '/application',name: 'application',meta: { requireAuth: true},component: Application},
3、全局函数beforeEach
main.js通过router.beforeEach全局函数,每次路由跳转都会出发函数判断是否有登录信息
router.beforeEach((to, from, next) => {if (to.matched.some(res => res.meta.requireAuth)) { // 验证是否需要登陆var id=window.sessionStorage.getItem('userId');console.log(id)if (id) { // 查询本地存储信息是否已经登陆next();} else {next({path: '/login', // 未登录则跳转至login页面redirect: '/main2' // 登陆成功后回到当前页面,这里传值给login页面,to.fullPath为当前点击的页面});}} else {next();}
}
4、在登陆界面利用sessionStorage将信息存入到全局变量
login() {axios.get('http://192.168.56.1:8081/sel/1', {// /gr/goods/adduserid: this.loginForm.userid,pwd: this.loginForm.pwd,}).then((res) => {console.log(res);console.log(res.data.msg);this.$store.commit('setUserId',this.loginForm.userid);this.$store.commit('setUserPwd',this.loginForm.pwd);console.log(this.loginForm.userid);console.log(this.loginForm.userpwd);console.log("打印的id为:"+sessionStorage.getItem('userId'));console.log("打印的pwd为:"+sessionStorage.getItem('userPwd'));
注意:
之后每次进行路由的时候都会判断登录信息,在注销的时候调用函数,;利用sessionStroage.clear()将全局信息清楚。防止注销之后路由拦截失效
vue vue-router实现路由拦截功能相关推荐
- uniapp通过uni.addInterceptor实现路由拦截功能
扒了插件市场的uni-start,抽出来的简单的路由拦截功能. 项目结构 |--|-- App.vue|-- index.html|-- main.js|-- manifest.json|-- pag ...
- 四十三、在Vue使用router,路由的管理
@Author:Runsen @Date:2020/7/17 管理路由是一项必不可少的功能.今天,Runsen学习Vue Router. 文章目录 安装Vue Router Vue Router使用 ...
- 2020用vue实现仿美团导航切换功能和淘宝购物车功能,实现默认第一个导航显示效果?
总结:之前一直未写过同时实现跳转当前页面和跳转新页面的项目,要么是当前,要么是新页面,今天更新一个两个同时实现的项目. :相信很多人都遇到过router-link通过to跳转页面有时候会不显示内容的b ...
- react实现路由跳转拦截功能(导航守卫)
react实现路由跳转拦截功能(导航守卫) 背景 方法1:通过Prompt组件实现react路由跳转拦截功能 Prompt组件介绍 Prompt组件示例 自定义Prompt组件的提示弹窗 方法2:通过 ...
- Vue+axios(interceptors) 实现http拦截 + router路由拦截 (双拦截)+ 请求自带loading效果...
axios interceptors 拦截器 //interceptors.js// vue axios配置 发起请求加载loading请求结束关闭loading // http request 请求 ...
- Vue Router路由常用功能总结
Vue Router路由常用功能总结 一.前言 二.安装 1. vueCLI安装 2. npm安装 三.路由配置及使用: 1. 基本配置: 2. 动态路由: 3. 嵌套路由: 四.编程式的导航 五.重 ...
- vue 定义全局弹框_VUE路由拦截:Vue自定义全局弹窗组件
前言 在任何一个平台中,如果需要增加用户黏度,除了用户需要的基本内容外,用户登录注册提交信息也是非常重要的一环,可以了解用户基本信息,用户喜欢等. 抛出前后端混合开发外,vue可以轻松的实现路由拦截. ...
- VUE 路径拦截, 开放页面, 基于动态路由, 拦截器
vue 动态路由参考 https://router.vuejs.org/zh/guide/essentials/dynamic-matching.html main.js 只会加载一次, 我们在mia ...
- Vue.js-Day05【安装路由(vue-router)、如何使用vue-router、404配置、激活class、动态路由、编程式导航、路由嵌套、路由元信息、导航拦截】
Vue.js实训[基础理论(5天)+项目实战(5天)]博客汇总表[详细笔记] 目 录 1.单页面应用 1.1.多页面应用 1.2.单页面应用 1.3.vue-router 2.安装vue-rout ...
最新文章
- 计算掩码、网络地址(最小主机地址,最高主机地址)、广播地址、IP地址范围、主机号...
- MySQL Transaction--快照读和当前读
- 从门禁系统的使用体验看良好的交互设计原则
- 聊聊flink的Tumbling Window
- 六十三、栈在括号匹配和表达式求值中的应用
- Hologres揭秘:优化COPY,批量导入性能提升5倍+
- mysql快捷创建数据库_mysql数据库快速入门(1)
- iis7+php7.1配置,IIS7.X配置PHP运行环境小结
- .NET Core 下使用 Kafka
- 第九集 生死穿越风火山,感受尘世间轮回
- 20191019:(leetcode习题)第K个语法符号
- 机器视觉算法包halcon介绍
- 自学考c语言计算机二级会,2级c语言(全国c语言二级考试题库)
- 数据库管理系统的概念及数据库管理系统的基本功能
- 现代数字图像处理技术提高及应用案例详解
- 抖音SEO,抖音排名优化,抖音排名规则
- ECDSA私钥der格式
- Android 热点开启流程
- 视频教程-Scratch趣味编程课堂-L1-其他
- Android端记录跑步运动轨迹数据的App
热门文章
- C4D R19学习之 001界面认识
- WEGAME更新游戏显示连接服务器失败,wegame更新失败怎么办?腾讯wegame更新失败的解决方法...
- java 基础 api
- Linux下通过shell脚本创建账户
- 领峰:贵金属平台哪个靠谱根据这几点来判断
- lenovo thinkpad L460 安装Win7阐述
- AWS服务器申请及部署(一年免费版)
- 倒计时定时器(爆炸定时器)、间隔定时器、通过点击按钮停止定时器、异步执行问题
- 又要发送1000万元DC|EP,数字人民币的这一年的“高光时刻”
- c语言李白喝酒答案,趣題C解(1)--李白喝酒問題