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 相关文章推荐
jQuery使用手册之 事件处理
Mar 24 Javascript
JS解决url传值出现中文乱码的另类办法
Apr 08 Javascript
jQuery插件实现屏蔽单个元素使用户无法点击
Apr 12 Javascript
script不刷新页面的联动前后代码
Sep 18 Javascript
微信小程序 vidao实现视频播放和弹幕的功能
Nov 02 Javascript
令按钮悬浮在(手机)页面底部的实现方法
May 02 Javascript
React教程之Props验证的具体用法(Props Validation)
Sep 04 Javascript
node.js支持多用户web终端实现及安全方案
Nov 29 Javascript
关于jquery layui弹出层的使用方法
Apr 21 jQuery
webpack4.x开发环境配置详解
Aug 04 Javascript
element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
Jan 15 Javascript
Vue实现微信支付功能遇到的坑
Jun 05 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
一个简单实现多条件查询的例子
2006/10/09 PHP
php zip文件解压类代码
2009/12/02 PHP
简单说说PHP优化那些事(经验分享)
2014/11/27 PHP
Yii2框架BootStrap样式的深入理解
2016/11/07 PHP
PHP实现的DES加密解密封装类完整实例
2017/04/29 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
2019/01/23 PHP
制作高质量的JQuery Plugin 插件的方法
2010/04/20 Javascript
深入Javascript函数、递归与闭包(执行环境、变量对象与作用域链)使用详解
2013/05/08 Javascript
JavaScript函数的4种调用方法详解
2014/04/22 Javascript
JavaScript实现梯形乘法表的方法
2015/04/25 Javascript
JS对字符串编码的几种方式使用指南
2015/05/14 Javascript
vue学习笔记五:在vue项目里面使用引入公共方法详解
2019/04/04 Javascript
vue-cli3 DllPlugin 提取公用库的方法
2019/04/24 Javascript
javascript中的闭包概念与用法实践分析
2019/07/26 Javascript
Vue Router中应用中间件的方法
2020/08/06 Javascript
echarts饼图各个板块之间的空隙如何实现
2020/12/01 Javascript
python 解析XML python模块xml.dom解析xml实例代码
2014/02/07 Python
python遍历一个目录,输出所有的文件名的实例
2018/04/23 Python
安装Pycharm2019以及配置anconda教程的方法步骤
2019/11/11 Python
python安装dlib库报错问题及解决方法
2020/03/16 Python
django model通过字典更新数据实例
2020/04/01 Python
安装多个版本的TensorFlow的方法步骤
2020/04/21 Python
Jupyter Notebook安装及使用方法解析
2020/11/12 Python
使用css3背景渐变中的透明度来设置不同颜色的背景渐变
2014/03/31 HTML / CSS
html5表单及新增的改良元素详解
2016/06/07 HTML / CSS
潘多拉珠宝英国官方网上商店:PANDORA英国
2018/06/12 全球购物
机械工程学院大学生求职信
2014/05/25 职场文书
商品陈列协议书
2014/09/29 职场文书
银行授权委托书格式
2014/10/10 职场文书
2014年测量员工作总结
2014/12/12 职场文书
工厂仓库管理员岗位职责
2015/04/09 职场文书
住房公积金贷款工资证明
2015/06/12 职场文书
红色经典电影观后感
2015/06/18 职场文书
创业计划书介绍
2019/04/24 职场文书
总结一下关于在Java8中使用stream流踩过的一些坑
2021/06/24 Java/Android
Python编程源码报错解决方法总结经验分享
2021/10/05 Python