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 instanceof 内部机制探析
Oct 15 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
Jun 12 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
Aug 16 Javascript
Javascript 浮点运算的问题分析与解决方法
Aug 27 Javascript
jquery操作HTML5 的data-*的用法实例分享
Aug 17 Javascript
JavaScript中for循环的使用详解
Jun 03 Javascript
微信小程序前端源码逻辑和工作流
Sep 25 Javascript
5分钟打造简易高效的webpack常用配置
Jul 04 Javascript
JS简单实现动态添加HTML标记的方法示例
Apr 08 Javascript
详解js静态检查工具eslint配置文件
Nov 23 Javascript
微信小程序提交form操作示例
Dec 30 Javascript
150行代码带你实现微信小程序中的数据侦听
May 17 Javascript
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
第九节 绑定 [9]
2006/10/09 PHP
供参考的 php 学习提高路线分享
2011/10/23 PHP
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
使用PHP Socket 编程模拟Http post和get请求
2014/11/25 PHP
重写javascript中window.confirm的行为
2012/10/21 Javascript
js去除重复字符串两种实现方法
2013/01/09 Javascript
使用jquery的ajax需要注意的地方dataType的设置
2013/08/12 Javascript
js写的方法实现上传图片之后查看大图
2014/03/05 Javascript
jQuery响应鼠标事件并隐藏与显示input默认值
2014/08/24 Javascript
基于javascript实现简单的抽奖系统
2020/04/15 Javascript
浅谈Jquery中Ajax异步请求中的async参数的作用
2016/06/06 Javascript
微信小程序 网络API发起请求详解
2016/11/09 Javascript
微信小程序调用PHP后台接口 解析纯html文本
2017/06/13 Javascript
浅谈vue.js中v-for循环渲染
2017/07/26 Javascript
JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
2018/12/05 Javascript
详解基于webpack&gettext的前端多语言方案
2019/01/29 Javascript
详解vue2.6插槽更新v-slot用法总结
2019/03/09 Javascript
elementUI多选框反选的实现代码
2019/04/03 Javascript
JS字符串与二进制的相互转化实例代码详解
2019/06/28 Javascript
vue中使用[provide/inject]实现页面reload的方法
2019/09/30 Javascript
vue 导航内容设置选中状态样式的例子
2019/11/01 Javascript
Vue学习之常用指令实例详解
2020/01/06 Javascript
jquery实现简易验证插件封装
2020/09/13 jQuery
以windows service方式运行Python程序的方法
2015/06/03 Python
浅谈python装饰器探究与参数的领取
2017/12/01 Python
Python多线程爬虫实战_爬取糗事百科段子的实例
2017/12/15 Python
详解python:time模块用法
2019/03/25 Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
2019/06/28 Python
利用python计算时间差(返回天数)
2019/09/07 Python
Django数据模型中on_delete使用详解
2020/11/30 Python
scrapy实践之翻页爬取的实现
2021/01/05 Python
html5中的一些标签学习(心得)
2016/10/18 HTML / CSS
美国成衣女装品牌:CHICO’S
2016/09/19 全球购物
美国电子产品购物网站:BuyDig.com
2020/06/17 全球购物
2019年.net常见面试问题
2012/02/12 面试题
计算机专业自荐信范文
2015/03/26 职场文书