vue实现未登录跳转到登录页面的方法


Posted in Javascript onJuly 17, 2018

环境:vue 2.9.3; webpack;vue-router

目的:实现未登录跳转

例子:直接在url地址栏输入...../home,但是这个页面要求需要登陆之后才能进入,判断的值就通过登陆之后给本地缓存存入的token判断,如果没有就跳转到登录页面,有的话就打开。

图示:

1、直接在url地址栏输入http://127.0.0.1:9000/#/home,但是页面会直接跳转到登录页,而且会带上参数。

vue实现未登录跳转到登录页面的方法

vue实现未登录跳转到登录页面的方法

--------------------------------------------分割线----------------------------------------------

vue-router需要安装

首先配置路由

/src/router/index.js

import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
export default new Router({
 routes: [
  {
   path: '/',// 登录
   name: 'Login',
   component: resolve => require(['@/PACS/pages/Login'],resolve)
  },{
   path: '/home',
   name: 'Home',
   meta: {
    requireAuth: true, // 判断是否需要登录
   },
   component: resolve => require(['@/PACS/pages/Home'],resolve)
  } 
  ]
})
 ## 增加了字段 requireAuth 用来判断该路由是否需要登录。

然后配置main.js

// 路由判断登录 根据路由配置文件的参数
router.beforeEach((to, from, next) => {
 if (to.matched.some(record => record.meta.requireAuth)){ // 判断该路由是否需要登录权限
  console.log('需要登录');
  if (localStorage.token) { // 判断当前的token是否存在 ; 登录存入的token
   next();
  }
  else {
   next({
    path: '/',
    query: {redirect: to.fullPath} // 将跳转的路由path作为参数,登录成功后跳转到该路由
   })
  }
 }
 else {
  next();
 }
});

这里是登录时存入的token

vue实现未登录跳转到登录页面的方法

##这样的话登录时就会直接跳转到登录页面。

实现登录成功后再跳回开始输入的页面,就要用到后面传递的值了。

vue实现未登录跳转到登录页面的方法

vue实现未登录跳转到登录页面的方法

如果包含redirect就跳转到刚刚输入的页面。

注意:如果将用户数据保存到localstorage是不合理的,这里只是给出一种思路,如果登陆之后不清空浏览器数据,token一直存在的,判断就会失效。

总结

以上所述是小编给大家介绍的vue实现未登录跳转到登录页面,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Js控制弹窗实现在任意分辨率下居中显示
Aug 01 Javascript
Javascript访问器属性实例分析
Dec 30 Javascript
JavaScript中的return语句简单介绍
Dec 07 Javascript
初探JavaScript 面向对象(推荐)
Sep 03 Javascript
js + css实现标签内容切换功能(实例讲解)
Oct 09 Javascript
移动端底部导航固定配合vue-router实现组件切换功能
Jun 13 Javascript
layui富文本编辑器前端无法取值的解决方法
Sep 18 Javascript
JS window对象简单操作完整示例
Jan 14 Javascript
Element Input输入框的使用方法
Jul 26 Javascript
js实现简单的无缝轮播效果
Sep 05 Javascript
OpenLayer学习之自定义测量控件
Sep 28 Javascript
详解nginx配置vue h5 history去除#号
Nov 09 Javascript
打通前后端构建一个Vue+Express的开发环境
Jul 17 #Javascript
详解如何从零开始搭建Express+Vue开发环境
Jul 17 #Javascript
微信小程序自定义组件之可清除的input组件
Jul 17 #Javascript
微信小程序倒计时功能实例代码
Jul 17 #Javascript
详解vue+webpack+express中间件接口使用
Jul 17 #Javascript
微信小程序实现默认第一个选中变色效果
Jul 17 #Javascript
Vue2.X 通过AJAX动态更新数据
Jul 17 #Javascript
You might like
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
2007/09/30 PHP
PHPEXCEL 使用小记
2013/01/06 PHP
利用PHP访问带有密码的Redis方法示例
2017/02/09 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
2018/12/07 PHP
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
2008/10/29 Javascript
javascript getElementsByName()的用法说明
2009/07/31 Javascript
Jquery:ajax实现翻页无刷新功能代码
2013/08/05 Javascript
js判断子窗体是否关闭的方法
2015/08/11 Javascript
Javascript中的Prototype到底是什么
2016/02/16 Javascript
深入理解JQuery循环绑定事件
2016/06/02 Javascript
深入浅出ES6之let和const命令
2016/08/25 Javascript
jquery根据td给相同tr下其他td赋值的实现方法
2016/10/05 Javascript
初探nodeJS
2017/01/24 NodeJs
JS正则表达式验证中文字符
2017/05/08 Javascript
Vue分页器实现原理详解
2019/06/28 Javascript
详解Vscode中使用Eslint终极配置大全
2019/11/08 Javascript
微信小程序wxml列表渲染原理解析
2019/11/27 Javascript
JavaScript前端实现压缩图片功能
2020/03/06 Javascript
Vue2.4+新增属性.sync、$attrs、$listeners的具体使用
2020/03/08 Javascript
微信小程序的引导页实现代码
2020/06/24 Javascript
[01:01:23]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第一场 11.26
2020/11/30 DOTA
一篇不错的Python入门教程
2007/02/08 Python
Python中关键字is与==的区别简述
2014/07/31 Python
python关闭windows进程的方法
2015/04/18 Python
python实现统计代码行数的方法
2015/05/22 Python
Django migrations 默认目录修改的方法教程
2018/09/28 Python
使用python获取电脑的磁盘信息方法
2018/11/01 Python
Python3.5以上版本lxml导入etree报错的解决方案
2019/06/26 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
优秀小学生家长评语
2014/01/30 职场文书
法制宣传实施方案
2014/03/13 职场文书
归元寺导游词
2015/02/06 职场文书
闪闪红星观后感
2015/06/08 职场文书
学生会自荐信
2019/05/16 职场文书
有趣的二维码:使用MyQR和qrcode来制作二维码
2021/05/10 Python
MongoDB使用场景总结
2022/02/24 MongoDB