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 相关文章推荐
fromCharCode和charCodeAt 方法
Dec 27 Javascript
TextArea 控件的最大长度问题(js json)
Dec 16 Javascript
用js解决数字不能换行问题
Aug 10 Javascript
16个最流行的JavaScript框架[推荐]
May 29 Javascript
Jquery显示和隐藏元素或设为只读(含Ligerui的控件禁用,实例说明介绍)
Jul 09 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
Nov 25 Javascript
jquery跟js初始化加载的多种方法及区别介绍
Apr 02 Javascript
利用a标签自动解析URL分析网址实例
Oct 20 Javascript
原生js jquery ajax请求以及jsonp的调用方法
Aug 04 jQuery
JavaScript 高性能数组去重的方法
Sep 20 Javascript
js判断非127开头的IP地址的实例代码
Jan 05 Javascript
从源码角度来回答keep-alive组件的缓存原理
Jan 18 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
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
2012/06/27 PHP
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
2013/06/24 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
PHP使用CURL实现多线程抓取网页
2015/04/30 PHP
PHP中通过trigger_error触发PHP错误示例
2015/06/23 PHP
php array_keys 返回数组的键名
2016/10/25 PHP
php从数据库读取数据,并以json格式返回数据的方法
2018/08/21 PHP
关于javascript document.createDocumentFragment()
2009/04/04 Javascript
使用jquery.qrcode生成彩色二维码实例
2014/08/08 Javascript
JavaScript中property和attribute的区别详细介绍
2015/03/03 Javascript
javascript动画算法实例分析
2015/07/31 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
2015/11/02 Javascript
JS使用eval解析JSON的注意事项分析
2015/11/14 Javascript
angularJs使用ng-repeat遍历后选中某一个的方法
2018/09/30 Javascript
微信小程序页面间值传递的两种方法
2018/11/26 Javascript
JS随机密码生成算法
2019/09/23 Javascript
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
el-table表头根据内容自适应完美解决表头错位和固定列错位
2021/01/07 Javascript
pandas创建新Dataframe并添加多行的实例
2018/04/08 Python
python协程之动态添加任务的方法
2019/02/19 Python
详解python运行三种方式
2019/05/13 Python
PyQt5 界面显示无响应的实现
2020/03/26 Python
Python网络爬虫四大选择器用法原理总结
2020/06/01 Python
浅谈anaconda python 版本对应关系
2020/10/07 Python
旧时光糖果:Old Time Candy
2018/02/05 全球购物
英国男女豪华配饰和礼品网站:Black.co.uk
2020/02/28 全球购物
女大学生个人求职信
2013/12/09 职场文书
通信生自我鉴定
2014/01/18 职场文书
班主任寄语大全
2014/04/04 职场文书
消防安全标语
2014/06/07 职场文书
党支部特色活动方案
2014/08/20 职场文书
客房服务员岗位职责
2015/02/09 职场文书
大学组织委员竞选稿
2015/11/21 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js
Nginx的基本概念和原理
2022/03/21 Servers
Mysql数据库group by原理详解
2022/07/07 MySQL