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 相关文章推荐
js汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME
Dec 20 Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
Jun 15 Javascript
jquery中交替点击事件toggle方法的使用示例
Dec 08 Javascript
基于JS代码实现当鼠标悬停表格上显示这一格的全部内容
Jun 12 Javascript
Bootstrap的class样式小结
Dec 01 Javascript
使用SVG基本操作API的实例讲解
Sep 14 Javascript
Vuex新手的理解与使用详解
May 31 Javascript
JavaScript剩余操作符Rest Operator详解
Jul 20 Javascript
JS实现动态星空背景效果
Nov 01 Javascript
Vue.js实现立体计算器
Feb 22 Javascript
JavaScript oncopy事件用法实例解析
May 13 Javascript
ant design pro中可控的筛选和排序实例
Nov 17 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 HTML代码串 截取实现代码
2009/06/29 PHP
解析php下载远程图片函数 可伪造来路
2013/06/25 PHP
ThinkPHP令牌验证实例
2014/06/18 PHP
使用PHP编写发红包程序
2015/07/22 PHP
php 中的closure用法详解
2017/06/12 PHP
javascript CSS画图之基础篇
2009/07/29 Javascript
IE6 fixed的完美解决方案
2011/03/31 Javascript
AngularJS入门教程(零):引导程序
2014/12/06 Javascript
JS中mouseover和mouseout多次触发问题如何解决
2016/06/06 Javascript
jquery输入数字随机抽奖特效的简单实现代码
2016/06/10 Javascript
jQuery实现拖拽可编辑模块功能代码
2017/01/12 Javascript
Vue.js中轻松解决v-for执行出错的三个方案
2017/06/09 Javascript
深入理解vue.js中的v-if和v-show
2017/06/22 Javascript
解决node修改后需频繁手动重启的问题
2018/05/13 Javascript
微信小程序在地图选择地址并返回经纬度简单示例
2018/12/03 Javascript
javascript中call,apply,bind的区别详解
2020/12/11 Javascript
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
2017/09/24 Python
centos 安装python3.6环境并配置虚拟环境的详细教程
2018/02/22 Python
Python3 读、写Excel文件的操作方法
2018/10/20 Python
Django model反向关联名称的方法
2018/12/15 Python
神经网络相关之基础概念的讲解
2018/12/29 Python
pyQt5实时刷新界面的示例
2019/06/25 Python
python3实现mysql导出excel的方法
2019/07/31 Python
python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)
2020/02/09 Python
纽约通行卡:The New York Pass(免费游览纽约90多个景点)
2017/07/29 全球购物
英国计算机产品零售商:Novatech(定制个人电脑、笔记本电脑、工作站和服务器)
2018/01/28 全球购物
Bally巴利英国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/07 全球购物
英国排名第一的冲浪店:Ann’s Cottage
2020/06/21 全球购物
实习生自荐信范文
2013/11/13 职场文书
求职自荐信的格式
2014/04/07 职场文书
体育运动会广播稿
2014/10/05 职场文书
导游词之安徽九华山
2019/09/18 职场文书
导游词之山西关帝庙
2019/11/01 职场文书
深入理解python多线程编程
2021/04/18 Python
关于React Native使用axios进行网络请求的方法
2021/08/02 Javascript
Pygame Time时间控制的具体使用详解
2021/11/17 Python