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 相关文章推荐
做网页的一些技巧(续)
Feb 01 Javascript
在IE上直接编辑网页内容的js代码(IE地址栏js)
Apr 27 Javascript
基于jquery的文章中所有图片width大小批量设置方法
Aug 01 Javascript
javascript setinterval 的正确语法如何书写
Jun 17 Javascript
Bootstrap表单布局
Jul 19 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
Nov 22 Javascript
jQuery弹出层插件popShow用法示例
Jan 23 Javascript
js实现下一页页码效果
Mar 07 Javascript
原生javascript移动端滑动banner效果
Mar 10 Javascript
php 解压zip压缩包内容到指定目录的实例
Jan 23 Javascript
微信小程序自定义导航栏实例代码
Apr 05 Javascript
深入浅出vue图片路径的实现
Sep 04 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中OO之静态关键字以及类常量的详解
2013/06/07 PHP
Codeigniter实现处理用户登录验证后的URL跳转
2014/06/12 PHP
PHP命名空间与自动加载类详解
2018/09/04 PHP
PHP生成随机字符串实例代码(字母+数字)
2019/09/11 PHP
PHP7 整型处理机制修改
2021/03/09 PHP
JavaScript 事件系统
2010/07/22 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战一)
2013/08/21 Javascript
jQuery插件boxScroll实现图片轮播特效
2015/07/14 Javascript
javascript实现的淘宝旅行通用日历组件用法实例
2015/08/03 Javascript
基于canvas实现的钟摆效果完整实例
2016/01/26 Javascript
javascript运算符——位运算符全面介绍
2016/07/14 Javascript
Vue.js组件tree实现无限级树形菜单
2016/12/02 Javascript
Node.js编写CLI的实例详解
2017/05/17 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
微信小程序常见页面跳转操作简单示例
2019/05/01 Javascript
layui使用表格渲染获取行数据的例子
2019/09/13 Javascript
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
Tornado Web服务器多进程启动的2个方法
2014/08/04 Python
Python脚本实现自动发带图的微博
2016/04/27 Python
Python实现对一个函数应用多个装饰器的方法示例
2018/02/09 Python
Django中使用Celery的教程详解
2018/08/24 Python
Python实现的逻辑回归算法示例【附测试csv文件下载】
2018/12/28 Python
详解Python3网络爬虫(二):利用urllib.urlopen向有道翻译发送数据获得翻译结果
2019/05/07 Python
计算机二级python学习教程(3) python语言基本数据类型
2019/05/16 Python
Expected conditions模块使用方法汇总代码解析
2020/08/13 Python
python eventlet绿化和patch原理
2020/11/21 Python
python 爬虫爬取京东ps4售卖情况
2020/12/18 Python
Python+MySQL随机试卷及答案生成程序的示例代码
2021/02/01 Python
英国精品买手店:Browns Fashion
2016/09/29 全球购物
iHerb俄罗斯:维生素、补品和天然产品
2020/07/09 全球购物
初三学习计划书范文
2014/04/30 职场文书
2014年科室工作总结范文
2014/12/19 职场文书
2016春季幼儿园开学寄语
2015/12/03 职场文书
《狼王梦》读后感:可怜天下父母心
2019/11/01 职场文书
详解Python为什么不用设计模式
2021/06/24 Python
php实例化对象的实例方法
2021/11/17 PHP