Vue登录拦截 登录后继续跳转指定页面的操作


Posted in Javascript onAugust 04, 2020

在开发中我们经常遇到这样的需求,需要用户登录后才可以访问该页面,如果用户没有登录点击该页面时则自动跳转到登录页面,登录后又跳转到链接的页面而不是首页,这种问题该如何去做呢?

1、在路由器router下的 index.js 的配置中,给需要拦截登录的页面的路由上加一个meta: {loginRequest: true} ,其中loginRequest 变量自己可以随意定义

Vue登录拦截 登录后继续跳转指定页面的操作

2、在main.js文件里面添加beforeEach钩子函数

Vue登录拦截 登录后继续跳转指定页面的操作

解释:

router.beforeEach((to, from, next) => { } 三个参数:

to:即将要进入的目标 路由对象

from:当前导航正要离开的路由

next:(function函数) 调用next() 进行管道中的下一个钩子

next() 无参 进行 下一个钩子函数

next({ path:'/xxx' , query:{}}) 携带参数跳到xxx页面

3、登录页面login.vue,登录完成后,跳到指定页面或首页

Vue登录拦截 登录后继续跳转指定页面的操作

补充知识:vue实现登录后跳转到来源路由url

sessionStorage存储from.path来源的路由url,如果不是登录或者注册就拦截跳到登录页,如果是就放行

router.beforeEach(function(to,from,next){
 
  if(to.path!='/login' && to.path!='/register'){
    sessionStorage.setItem('referrer',from.path) //储存来源路由
    alert('请登录')
    next({
      path:'/login'
    })
  }else{
    next()
  }
 
})

登录后判断sessionStorage中是否有存储来源路由,如果有就跳转到这个路由

//获取来源页路由
var referrer = sessionStorage.getItem('referrer');
if(referrer != null){
  this.$router.push(referrer)
}else {
  this.$router.push('/home')
}

以上这篇Vue登录拦截 登录后继续跳转指定页面的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
textarea中的手动换行处理的jquery代码
Feb 26 Javascript
jQuery基于ajax实现星星评论代码
Aug 07 Javascript
深入理解React中es6创建组件this的方法
Aug 29 Javascript
JQuery PHP图片在线裁剪实例
Jul 27 Javascript
JS双击变input框批量修改内容
Dec 12 Javascript
js中DOM事件绑定分析
Mar 18 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
Apr 20 Javascript
angular6的table组件开发的实现示例
Dec 26 Javascript
jQuery实现的解析本地 XML 文档操作示例
Apr 30 jQuery
JS数组的常用10种方法详解
May 08 Javascript
vue 中的动态传参和query传参操作
Nov 09 Javascript
使用AutoJs实现微信抢红包的代码
Dec 31 Javascript
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
Aug 04 #Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
Aug 04 #Javascript
解决vuecli3中img src 的引入问题
Aug 04 #Javascript
简介JavaScript错误处理机制
Aug 04 #Javascript
vue 出现data-v-xxx的原因及解决
Aug 04 #Javascript
elementui更改el-dialog关闭按钮的图标d的示例代码
Aug 04 #Javascript
vue 实现根据data中的属性值来设置不同的样式
Aug 04 #Javascript
You might like
php获取当前网址url并替换参数或网址的方法
2010/06/06 PHP
php删除数组指定元素实现代码
2017/05/03 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
弹出广告特效(一个IP只弹出一次)的代码
2007/07/27 Javascript
ExtJS 2.0实用简明教程之应用ExtJS
2009/04/29 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
JavaScript箭头(arrow)函数详解
2017/06/04 Javascript
AngularJS 实现点击按钮获取验证码功能实例代码
2017/07/13 Javascript
vue源码学习之Object.defineProperty 对数组监听
2018/05/30 Javascript
微信小程序地图(map)组件点击(tap)获取经纬度的方法
2019/01/10 Javascript
vue动态子组件的两种实现方式
2019/09/01 Javascript
JavaScript实现与web通信的方法详解
2020/08/07 Javascript
[01:48]2018DOTA2亚洲邀请赛主赛事第二日五佳镜头 VG完美团战逆转TNC
2018/04/05 DOTA
[57:12]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第一场 10.31
2020/11/02 DOTA
使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
2014/04/25 Python
python 打印对象的所有属性值的方法
2016/09/11 Python
python3获取两个日期之间所有日期,以及比较大小的实例
2018/04/08 Python
Python中pandas模块DataFrame创建方法示例
2018/06/20 Python
详解用python写一个抽奖程序
2019/05/10 Python
python查找重复图片并删除(图片去重)
2019/07/16 Python
Python使用Slider组件实现调整曲线参数功能示例
2019/09/06 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
2019/10/21 Python
Python读取VOC中的xml目标框实例
2020/03/10 Python
Python性能分析工具py-spy原理用法解析
2020/07/27 Python
python使用scapy模块实现ARP扫描的过程
2021/01/21 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
AVIS安飞士奥地利租车官网:提供奥地利、欧洲和全世界汽车租赁
2016/11/29 全球购物
Hotter Shoes英国官网:英伦风格,舒适的鞋子
2017/12/28 全球购物
高中毕业自我鉴定
2013/12/19 职场文书
幼儿园老师辞职信
2014/01/20 职场文书
产品质量保证书范本
2015/02/27 职场文书
经理岗位职责范本
2015/04/15 职场文书
2019升学宴主持词范本5篇
2019/10/09 职场文书
Angular性能优化之第三方组件和懒加载技术
2021/05/10 Javascript
基于PostgreSQL/openGauss 的分布式数据库解决方案
2021/12/06 PostgreSQL
Python中的turtle画箭头,矩形,五角星
2022/03/16 Python