VueRouter进阶(1)-导航守卫
简介
主要用来通过跳转或取消的方式守卫导航。
例如判断登录信息:没登录全部跳到登录页。判断必要操作是否进行没进行的话中断跳转。
分为三大类:全局守卫、路由守卫、组件守卫
全局守卫
1. beforeEach2. beforeResolve3. afterEach
路由守卫
1. beforeEnter
组件守卫
1. beforeRouteEnter// 在渲染该组件的对应路由被 confirm 前调用// 不!能!获取组件实例 `this`// 因为当守卫执行前,组件实例还没被创建虽然无法直接获取组件实力但是我们可以通过next参数的回调函数获取到当前实例进行操作beforeRouteEnter: (to, from, next) => {next((vm) => {//vm就是当前组件实例});}2. beforeRouteUpdate// 在当前路由改变,但是该组件被复用时调用// 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候,// 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。// 可以访问组件实例 `this`3. beforeRouteLeave// 导航离开该组件的对应路由时调用// 可以访问组件实例 `this`
参数介绍
这些导航守卫涉及到的参数:to、from、next
除了全局守卫的afterEach只有to和from外其余都有三个参数
(摘抄自官网)
to: Route: 即将要进入的目标 路由对象from: Route: 当前导航正要离开的路由next: Function: 一定要调用该方法来 resolve 这个钩子。执行效果依赖 next 方法的调用参数。next(): 进行管道中的下一个钩子。如果全部钩子执行完了,则导航的状态就是 confirmed (确认的)。next(false): 中断当前的导航。如果浏览器的 URL 改变了(可能是用户手动或者浏览器后退按钮),那么 URL 地址会重置到 from 路由对应的地址。next('/') 或者 next({ path: '/' }): 跳转到一个不同的地址。当前的导航被中断,然后进行一个新的导航。next(error): (2.4.0+) 如果传入 next 的参数是一个 Error 实例,则导航会被终止且该错误会被传递给 router.onError() 注册过的回调。
运行机制
上图(别问我图是谁):(流程图通过https://www.processon.com 进行绘制)
VueRouter进阶(1)-导航守卫相关推荐
- Vue-router进阶:导航守卫
全局前置守卫 使用router.beforeEach注册一个全局前置守卫. const router = new VueRouter({...}) router.beforeEach((to,from ...
- 【vue-router②】使用导航守卫控制页面前进刷新,后退缓存
之前给大家分享了利用keep-alive进行缓存你想要的页面,然后到后面会出现这样的问题: 我有三个组件A(组件).B(A中的弹框).C(组件),其实算是两个组件,一个弹框,现在他们的关系是这样的: ...
- vue-router进阶:路由使用归纳、路由导航守卫、导航守卫解析流程、
一.定义和理解 导航守卫的作用:vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航. >>项目中应用场景举例:路由页面跳转时候进行登陆验证:路由跳转判断: 有多种机会 ...
- React进阶(五):导航守卫
文章目录 一.前言 二.全局守卫 三.拓展阅读 一.前言 在<React进阶(四):路由介绍>博文中,介绍了React路由相关知识,在实际项目开发过程中,路由之间的跳转必定涉及权限.用户是 ...
- 十、vue-router学习笔记——认识路由、vue-router基本使用、vue-router嵌套路由、vue-router参数传递、vue-router导航守卫、keep-alive
一.认识路由 1.1 什么是路由? 说起路由你想起了什么? 路由是一个网络工程里面的术语. 路由(routing)就是通过互联的网络把信息从源地址传输到目的地址的活动. - 维基百科 额, 啥玩意? ...
- VueRouter导航守卫
VueRouter导航守卫 vue-router提供的导航守卫主要用来通过跳转或取消的方式守卫导航,简单来说导航守卫就是路由跳转过程中的一些钩子函数,路由跳转是一个大的过程,这个大的过程分为跳转前中后 ...
- vue-router 导航守卫
导航守卫 导航守卫,也可以叫路由守卫,"导航"表示路由正在发生改变. vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航. 有多种机会植入路由导航过程中:全局 ...
- 2022-11-15 vue笔记-路由vue-router(四) 路由守卫(又称路由拦截,导航守卫)的定义以及示例
文章目录 0.路由的概念 1.路由守卫的定义 定义 官方解释 路由守卫的分类 钩子函数 2.路由守卫的使用场景 3.语法:`router.beforeEach((to,from,next) => ...
- 路由vue-router进阶
目录 1. 导航守卫 1.1. 全局守卫 1.2. 全局解析守卫 1.3. 全局后置钩子 1.4. 路由独享的守卫 1.5. 组件内的守卫 1.6. 完整的导航解析流程 2. 路由元信息 3. 获取数 ...
- 55. VUE 导航守卫
就是 如果你想跳转路由的时候干点什么 那么就用导航守卫,例如更换标题,当然你可以用生命周期函数,在我看来不切实际. 点击首页标题换首页 ,点击个人 标题换个人: 全局导航守卫 vue-router提 ...
最新文章
- 转:项目报告应该汇报什么内容?
- python培训比较好的机构-python哪家的培训比较好?
- 160个Crackme003之4C大法详解
- Re: 从零开始的【comic spider】(序幕)
- 安全网关之三:IPTables
- JavaWeb 如何防止表单重复提交 - 使用Token,令牌
- php list 传递 assign('list'_,thinkphp5分页传递参数
- $.ajax的回调function中的this与 element-ui的this.$alert冲突问题解决
- css设置单行文本超出部分点点点、多行文本超出部分点点点(两种方法)/解决多行 数字不换行问题。
- ps界面为啥突然变大了_PS修图教程,如何把把照片变得更有质感
- 中学-知识与能力【5】
- WebGL(ThreeJS)加载乐高Ldraw模型案例
- iOS3DTouch功能实现
- catboost 的实例应用附带特征重要度打印
- 毕业设计 - 基于java web的在线考试系统【源码+论文】
- 原生js进阶版轮播图实现(走马灯效果,无缝衔接)
- 高考结束了以后应该做的事情(个人经历的总结)
- DevOps流水线实践教程|端到端研发效能提升
- C# 操作FireBird(火鸟)数据库
- 【读书笔记】《认知天性:让学习轻而易举的心理学规律》
热门文章
- c语言连接mysql_0基础掌握Django框架(14)MySQL相关软件
- php里= 啥意思,PHP natcasesort() 函数 | 菜鸟教程
- 如何设置二进制某一位的值_mysql参数设置--max_allowed_packet 值如何调整?
- 一些认识或对不清楚知识的猜想
- springcahce集成redis 设置过期时间
- fileboy v1.9 发布,文件变更监听通知系统
- lamp搭建wordpress后升级安装主题,提示输入ftp账号密码
- 光线的方向:顺光、逆光、侧光、侧顺光、侧逆光、顶光、底光
- 关于驰骋工作流程引擎节点访问规则的变更发布
- SQL Server2005如何进行数据库定期备份