vue路由守卫,限制前端页面访问权限的例子


Posted in Javascript onNovember 11, 2019

今天给大家写一篇关于vue校验登录状态,如果是非法登录就跳转到登录页面的逻辑

首先需要写一个路由守卫,它的原理是每次路由发生变化时触发具体写法如下:

router.beforeEach((to, from, next) => {
  next()
})

beforeEach函数有三个参数:

to:即将进入的路由对象

from:当前导航即将离开的路由

next,进行管道中的一个钩子,如果执行完了,则导航的状态就是 confirmed (确认的);否则为false,终止导航。

使用案例

限制登陆功能,具体实现思路:每次跳转路由是判断本地 localStorage.getItem('token') 状态

首先找到router/index.js如下

import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
 
const router = new Router({
 routes: [{
   path: '/',
   name: 'HelloWorld',
   component: HelloWorld
  },
  {
   path: '/login',
   name: 'login',
   component: login
  }
 ]
})
//下面是重点 
router.beforeEach((to, from, next) => {
 let token = localStorage.getItem('token') 
 if (to.path == '/login') {
  next()
 } else {
  if (token == '' || token == null) {
   next('/login');
  } else {
   next()
  }
 }
 
})
 
export default router;

解释:index.js写成如上形式,用const router 接受 new Router对象,最后export暴露出去

router.beforeEach 在每次路由跳转出发

let token = localStorage.getItem('token') 获取本地没有没token 如果没有就跳到login页面 很简单的逻辑

以上这篇vue路由守卫,限制前端页面访问权限的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 对表格的行和列都能加亮显示
Dec 26 Javascript
jQuery 幻灯片插件(带缩略图功能)
Jan 24 Javascript
jQuery 快速结束当前正在执行的动画
Nov 20 Javascript
js实现鼠标经过时图片滚动停止的方法
Feb 16 Javascript
javascript 闭包详解
Jul 02 Javascript
javascript拖拽应用实例
Mar 25 Javascript
JavaScript判断页面加载完之后再执行预定函数的技巧
May 17 Javascript
以v-model与promise两种方式实现vue弹窗组件
May 21 Javascript
4个顶级JavaScript高级文本编辑器
Oct 10 Javascript
Vue源码中要const _toStr = Object.prototype.toString的原因分析
Dec 09 Javascript
js+html实现周岁年龄计算器
Jun 25 Javascript
jQuery实现全选按钮
Jan 01 jQuery
vue在路由中验证token是否存在的简单实现
Nov 11 #Javascript
vuex存储token示例
Nov 11 #Javascript
Vuex实现数据增加和删除功能
Nov 11 #Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
Nov 11 #Javascript
vue 实现通过vuex 存储值 在不同界面使用
Nov 11 #Javascript
使用vuex存储用户信息到localStorage的实例
Nov 11 #Javascript
JS中比较两个Object数组是否相等方法实例
Nov 11 #Javascript
You might like
用PHP写的MySQL数据库用户认证系统代码
2007/03/22 PHP
慎用preg_replace危险的/e修饰符(一句话后门常用)
2013/06/19 PHP
PHP聚合式迭代器接口IteratorAggregate用法分析
2017/12/28 PHP
Display SQL Server Version Information
2007/06/21 Javascript
js过滤数组重复元素的方法
2010/09/05 Javascript
Javascript中Event属性搜集整理
2013/09/17 Javascript
js报$ is not a function 的问题的解决方法
2014/01/20 Javascript
JavaScript中匿名函数的用法及优缺点详解
2016/06/01 Javascript
jQuery Tags Input Plugin(添加/删除标签插件)详解
2016/06/20 Javascript
Vue.js 中的 $watch使用方法
2017/05/25 Javascript
微信小程序三级联动选择器使用方法
2020/05/19 Javascript
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
微信开发之微信jssdk录音功能开发示例
2018/10/22 Javascript
大转盘抽奖小程序版 转盘抽奖网页版
2020/04/16 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
2019/06/26 Javascript
JS自定义对象创建与简单使用方法示例
2020/01/15 Javascript
Vue单页面应用中实现Markdown渲染
2021/02/14 Vue.js
python3+PyQt5实现自定义窗口部件Counters
2018/04/20 Python
TensorFlow实现随机训练和批量训练的方法
2018/04/28 Python
浅谈Pandas:Series和DataFrame间的算术元素
2018/12/22 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
2019/03/11 Python
Python中的正则表达式与JSON数据交换格式
2019/07/03 Python
python使用自定义钉钉机器人的示例代码
2020/06/24 Python
python3让print输出不换行的方法
2020/08/24 Python
用 python 进行微信好友信息分析
2020/11/28 Python
Python绘制K线图之可视化神器pyecharts的使用
2021/03/02 Python
Eastbay官网:美国最大的运动鞋网络零售商
2016/07/27 全球购物
美国首屈一指的礼品篮供应商:GiftTree
2018/01/06 全球购物
struct和class的区别
2015/11/20 面试题
某同学的自我鉴定范文
2013/12/26 职场文书
平面设计求职信
2014/03/10 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
商场开业庆典策划方案
2014/06/02 职场文书
公司离职证明标准范本
2014/10/05 职场文书
会计出纳岗位职责
2015/03/31 职场文书
Python查找算法的实现 (线性、二分,分块、插值查找算法)
2022/04/24 Python