路由守卫:保护路由的安全。控制路由跳转权限。路由跳转有两种方式:1 、<router-link>方式,2、编程式跳转。路由守卫:控制路由在符合某种条件下才能完成跳转。

一、全局路由守卫

全局,所有的路由,此时需要找路由器router,可以是在src/router/index.js文件中,也可以是在main.js中,亦或者是在与某个引入了src/router/index.js文件暴露的router的perssion.js文件中(需要在main.js中引入),借助beforeEach()/afterEach()实现

1. 全局前置路由守卫

前置,在路由切换之前判断,不符合条件则不跳转。在初始化的时候调用,在路由切换的时候调用

// to:要去的路由,from:当前路由,next:触发跳转

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

...逻辑

next()

}

2.全局后置路由守卫

后置,在跳转之后判断,不管符不符合,路由都会跳转,浏览器地址栏都会变化,多用于跳转后修改页签标题等。

// to:要去的路由,from:当前路由

router.afterEach((to, from) => {

...逻辑

}

二、独享路由守卫

某一个路由单独享有的路由守卫,需要在配置路由的地方,添加beforeEnter函数,只有前置,没有后置

{name: 'home',path: '/home',component: () => import('@/views/home/Home),meta: { isAuth: true, title: '首页' },beforeEnter: (to, from, next) => {        /*... //逻辑if(to.meta.isAuth){if(条件){next()}else {alert('暂无权限查看')}}else{next()}*/}
}

三、组件内路由守卫

组件内的路由守卫,属于data,methods等的同等级配置选项

// 通过路由规则进入该组件时被调用
// 不可以访问组件实例 `this`
beforeRouteEnter(to, from, next){console.log('beforeRouteEnter', to. from)next()
}// 在当前路由改变,但是该组件被复用时调用
// 如 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候
// 可以访问组件实例 `this`
beforeRouteUpdate(to, from, next){console.log('beforeRouteEnter', to. from)next()
}// 通过路由规则离开该组件时被调用,跳转结束,而是离开该组件
// 可以访问组件实例 `this`
beforeRouteLeave(to, from, next){console.log('beforeRouteEnter', to. from)next()
}

vue 路由守卫 解析相关推荐

  1. reactrouter4路由钩子_react router @4 和 vue路由 详解(八)vue路由守卫

    13.vue路由守卫 a.beforeEach 全局守卫 (每个路由调用前都会触发,根据from和to来判断是哪个路由触发) const router = new VueRouter({ ... }) ...

  2. Vue路由守卫(导航守卫)及使用场景

    目录 前言 一.路由守卫是什么? 二.路由守卫全解析 先来看一下钩子函数执行后输出的顺序吧 1.全局路由守卫 2.组件路由守卫 3.路由独享守卫 单独介绍一下路由守卫钩子三个参数 前言 最近在学习vu ...

  3. vue路由守卫死循环及next原理解释

    ​ 在使用vue路由守卫的beforeEach方法时可能会出现无限递归,也就是死循环的问题,根本原因在于next()方法在不合适的地方错误调用所致,先来看一下官方对next()方法的解释: befor ...

  4. vue路由守卫中next方法的理解

    vue路由守卫中next方法的理解 在网上看到了一篇通俗易懂的文章,此文章出处 在这里我用通俗点的说法解释上next(),next(false),next('/'),next(error),希望通过这 ...

  5. VUE路由守卫_前端实现权限验证

    VUE路由守卫_权限验证 引言: 本文在利用SpringBoot和Vue实现前后端分离一文的基础上追加的路由守卫:未登录时会限制访问某些页面(前台控制),与之前的Shiro不同: 文章目录 VUE路由 ...

  6. vue路由守卫有哪三种类型

    vue中路由守卫一共有三种,分别为:全局路由守卫(全局前置守卫.全局后置守卫),组件内路由守卫,路由独享守卫(是在路由配置页面单独给路由配置的一个守卫). 路由守卫,也可以是路由拦截,我们可以通过路由 ...

  7. vue路由守卫beforeEach和afterEach

    路由守卫 路由前置守卫beforeEach 路由在每次切换之前,都会到用一个函数:beforeEach 举个简单的栗子:如果当前跳转的路由路径是/home或者/about时才能查看页面,否则提示无权限 ...

  8. VUE 路由守卫 next() / next({ ...to, replace: true }) / next(‘/‘) 说明

    最近因为next()遇到了不少问题,在这里记录一下 首先是路由守卫,是不是感觉简简单单 beforeEach((to, from, next) => {to // 要去的路由from // 当前 ...

  9. Vue路由守卫(导航守卫)

    路由守卫包括全局守卫(beforeEach()).路由独享守卫(beforeEnter()).组件内守卫(beforeRouteEnter().beforeRouteLeave()) 1.全局守卫(b ...

  10. vue路由守卫的使用

    使用路由守位我们需要使用vuex来存放全局的用户信息 ①存在全局用户信息 1.首先展示我的项目路径 2.store/index.js文件内容如下: 这里主要是引入一些文件,以及进行挂载 import ...

最新文章

  1. 剑指offer(19): 顺时针打印矩阵
  2. ultraEdit-32 PHP/HTML智能提示
  3. 面试常见问题_软件实施工程师面试中的常见问题都有哪些呢?
  4. 前端学习(3129):react-hello-react之回调形式的ref的次数问题
  5. 【OpenJ_Bailian - 2711 】 合唱队形(dp,枚举中间顶点)
  6. 【浏览器】浏览器模式与文档模式区别
  7. 开发Adobe AIR的原生扩展
  8. [转]memcached+magent实现memcached集群
  9. IP地址归属地那些事
  10. 三人抢答器逻辑电路图_数字电路3人抢答器实验报告.doc
  11. Setup Factory 安装程序的图标
  12. html5自动调用js函数,从html文件中的外部js文件调用Javascript函数
  13. “华为杯”山东理工大学第十一届ACM程序设计竞赛(正式赛)网络同步赛
  14. Words Reciting 2016.5.4
  15. python面向对象高级
  16. *7-2 CCF 2015-09-2 日期计算
  17. H5全新红包直通车网站源码 包含多款游戏已对接支付
  18. 如何从ip服务器所用系统,如何从0开始打造一个深度学习服务器?
  19. 记录一下首次调用wx公众号JSSDK心路
  20. 基于百度地图的出租车管理系统的设计与实现

热门文章

  1. java查找PDF关键字坐标 并且标记出来
  2. 中国智能经济觉醒,云智一体打造产业智能化加速器
  3. 计算机内存不足 无法使用,电脑内存不足怎么办,教您解决电脑内存不足
  4. 学习日记——Quartus工程创建与运行
  5. numpy 随机生成矩阵
  6. Zemax操作25--像差理论和修正(球差、慧差、像散)
  7. VBA实现dwg批量输出PDF
  8. 华为网络设备-OSPF路由实验
  9. PDF文件在线转换HTML的方法
  10. WebRoot 与 WEB-INF 相关问题学习整理