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 相关文章推荐
在IE下:float属性会影响offsetTop的取值
Dec 22 Javascript
DIV外区域Click后关闭DIV的实现代码
Dec 21 Javascript
ie支持function.bind()方法实现代码
Dec 27 Javascript
jquery增加时编辑jqGrid(实例代码)
Nov 08 Javascript
随鼠标上下滚动的jquery代码
Dec 05 Javascript
推荐8款jQuery轻量级树形Tree插件
Nov 12 Javascript
去除html代码里面的script正则方法
May 19 Javascript
JavaScript中利用构造器函数模拟类的方法
Feb 16 Javascript
JavaScript脚本语言是什么_动力节点Java学院整理
Jun 26 Javascript
vue路由拦截及页面跳转的设置方法
May 24 Javascript
在vue项目中引入highcharts图表的方法
Jan 21 Javascript
video.js添加自定义组件的方法
Dec 09 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
一个很方便的 XML 类!!原创的噢
2006/10/09 PHP
详谈PHP中的密码安全性Password Hashing
2017/02/04 PHP
IE8 chrome中table隔行换色解决办法
2010/07/09 Javascript
JavaScript实用技巧(一)
2010/08/16 Javascript
浅析Js(Jquery)中,字符串与JSON格式互相转换的示例(直接运行实例)
2013/07/09 Javascript
javascript使用百度地图api和html5特性获取浏览器位置
2014/01/10 Javascript
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
超链接怎么正确调用javascript函数
2016/05/23 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
2017/01/12 Javascript
Bootstrap实现各种进度条样式详解
2017/04/13 Javascript
vue.js实现刷新当前页面的方法教程
2017/07/05 Javascript
ES6扩展运算符的用途实例详解
2017/08/20 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
vue表单数据交互提交演示教程
2019/11/13 Javascript
小程序Scroll-view上拉滚动刷新数据
2020/06/21 Javascript
Python中的二叉树查找算法模块使用指南
2014/07/04 Python
使用Python的Tornado框架实现一个简单的WebQQ机器人
2015/04/24 Python
使用python爬虫获取黄金价格的核心代码
2018/06/13 Python
Python寻找两个有序数组的中位数实例详解
2018/12/05 Python
python实现飞机大战游戏
2020/10/26 Python
python实现批量nii文件转换为png图像
2019/07/18 Python
django数据模型(Model)的字段类型解析
2019/12/25 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
2020/02/12 Python
浅谈python 类方法/静态方法
2020/09/18 Python
HTML5 Canvas中绘制矩形实例
2015/01/01 HTML / CSS
澳洲女装时尚在线:Blue Bungalow
2018/05/05 全球购物
新书吧创业计划书
2014/01/31 职场文书
企业标语大全
2014/07/01 职场文书
员工工作能力评语
2014/12/31 职场文书
缅怀先烈主题班会
2015/08/14 职场文书
2015年评职称个人工作总结
2015/10/15 职场文书
蓝天保卫战收官在即 :15行业将开展环保分级评价
2019/07/19 职场文书
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
2021/04/12 Python
JavaScript流程控制(循环)
2021/12/06 Javascript
GO语言异常处理分析 err接口及defer延迟
2022/04/14 Golang
蓝牙耳机怎么连接电脑win11? Win11蓝牙耳机连接电脑的技巧
2023/01/09 数码科技