vue-router 导航守卫
导航守卫
导航守卫,也可以叫路由守卫,“导航”表示路由正在发生改变。
vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。
有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的。
类似于组件生命周期钩子函数, 把路由跳转分为很多过程,让你在这些过程中操作一些别的事。
导航守卫分为三类:全局守卫,路由独享守卫和组件守卫。一共有七个钩子函数
每个守卫方法接收三个参数:
钩子函数一般有三个参数 (to,from ,next),
但全局守卫中的全局后置钩子 afterEach,只有to,from,没有next
- to:将要访问的路径
- from:代表从哪个路径跳转而来
- next:是指下一个路径
全局守卫
全局前置守卫
可以使用 router.beforeEach 注册一个全局前置守卫:
当一个导航触发时,全局前置守卫按照创建顺序调用。守卫是异步解析执行,此时导航在所有守卫 resolve 完之前一直处于 等待中。全局解析守卫
可以用 router.beforeResolve 注册一个全局守卫。这和 router.beforeEach 类似,区别是在导航被确认之前,同时在所有组件内守卫和异步路由组件被解析之后,解析守卫就被调用。全局后置钩子
也可以注册全局后置钩子,然而和守卫不同的是,这些钩子不会接受 next 函数也不会改变导航本身:
router.afterEach((to, from) => { // … })路由独享守卫
组件内的守卫
beforeRouteEnter
beforeRouteUpdate
beforeRouteLeave
完整的导航解析流程
- 导航被触发。
- 在失活的组件里调用 beforeRouteLeave 守卫。
- 调用全局的 beforeEach 守卫。
- 在重用的组件里调用 beforeRouteUpdate 守卫 (2.2+)。
- 在路由配置里调用 beforeEnter。
- 解析异步路由组件。
- 在被激活的组件里调用 beforeRouteEnter。
- 调用全局的 beforeResolve 守卫 (2.5+)。
- 导航被确认。
- 调用全局的 afterEach 钩子。
- 触发 DOM 更新。
- 调用 beforeRouteEnter 守卫中传给 next 的回调函数,创建好的组件实例会作为回调函数的参数传入。
vue-router 导航守卫相关推荐
- VUE全局导航守卫、 请求、响应拦截器 的设置
文件设置参考地址:https://gitee.com/wang_yu5201314/headlines__news/tree/master/%E9%A1%B9%E7%9B%AE%E6%BA%90%E7 ...
- Vue - 路由导航守卫控制访问权限,设置 localStorage 过期时间
Vue 路由导航守卫控制访问权限,设置 localStorage 过期时间 一. 路由导航守卫 二. 路由导航守卫 简单使用 三. 使用路由导航守卫设置 token 过期时间 导航守卫: https: ...
- Vue 路由导航守卫(全局守卫、路由独享守卫、组件内守卫)详解
Vue 路由导航守卫(全局守卫.路由独享守卫.组件内守卫)详解: 路由守卫 官方解释 "导航"表示路由正在发生改变.正如其名,vue-router提供的导航守卫主要用来通过跳转或取 ...
- vue路由导航守卫控制访问权限
利用路由的全局前置守卫beforeEach来控制用户的访问权限. 首先是一个登录的页面 用户输入完整的信息,点击登录时,会本地存储用户的登录状态,如果在本地存储中存在用户登录过的痕迹,用户可以直接进入 ...
- VUE router 导航重复点击报错的问题解决两种方案
VUE router 导航重复点击报错的问题解决两种方案 前几天一个月薪35k的兄弟,给我推了一个人工智能学习网站,看了一段时间挺有意思的.包括语音识别.机器翻译等从基础到实战都有,很详细,分享给大家 ...
- Vue--》深入理解 Vue 3 导航守卫,掌握前端路由的灵魂技能!
目录 vue3导航守卫讲解与使用 element-ui的安装与使用 配置路由和设置路径别名
- 路由守卫 AJAX,vue路由导航守卫 和 请求拦截以及基于node的token认证
#####什么时候需要登录验证与权限控制 1.业务系统通常需要登录才能访问受限资源,在用户未登录情况下访问受限资源需要重定向到登录页面: 2.多个业务系统之间要实现单点登录,即在一个系统或应用已登录的 ...
- Vue Router路由守卫
全局前置.后置路由守卫 router/index.js import Vue from 'vue'; import VueRouter from 'vue-router'; import List f ...
- Vue 路由 导航守卫(全局守卫、路由独享守卫、组件内守卫)
一.全局守卫 1. router.beforeEach((to,from,next)=>{}) 2. 回调函数中的参数,to:进入到哪个路由去,from:从哪个路由离开,next:函数,决定是否 ...
- Vue中 路由导航守卫(全局守卫、路由独享守卫、组件内守卫)
Vue 路由导航守卫(全局守卫.路由独享守卫.组件内守卫)详解: 路由守卫 官方解释 "导航"表示路由正在发生改变.正如其名,vue-router提供的导航守卫主要用来通过跳转或取 ...
最新文章
- DropDownList动态添加新项并位于第一项 ASP.NET控件应用
- java 网络序_Java使用网络字节序进行数据传输
- Documentum常见问题4—如何通过vlink方式直接查看文档内容
- 中文信息匮乏年代,新媒体粉墨登场
- 探讨浏览器CSS选择器的权重!!!
- yum安装ruby_centos 6.5 ruby环境安装
- Java Application和Java Applet
- 前端基础-html-表格的标题和表头单元格标签
- web前端之html从入门到精通
- mysql 性能优化 20 条建议
- MongoDB笔记(一):MongoDB介绍及Windows下安装
- L3G4200陀螺仪学习
- 待支付取件费用是什么意思_菜鸟裹裹待支付怎么取消
- function func() { for(var i=0; i<3; i++) { setTimeout(()=>{ consol
- vue3.0+ts+element-plus多页签应用模板:element-plus按需引入与动态换肤
- 用Python写一个拼音输入法
- 关于路由器中家长控制和上网控制的设置
- 《薄冰实用英语语法详解》独家连载之十三:过去分词
- 【NLP相关】NLP的发展历程
- 关于移动端IOS input弹起键盘时,引起高度问题
热门文章
- ntag213和215有什么区别_【NFC标签,ntag213/ntag215/ntag216标签,可反复擦写,可加密可锁死】价格_厂家 - 中国供应商...
- DJ Jazzy Jeff
- 字符串的截取substr
- java交换二维数组行列_java二维数组行列
- 游戏开发物语方案点数分配_游戏开发物语攻略汇总 常见问题解答
- php笔刷怎么安装,ps铅笔工具怎么用
- 基于图卷积神经网络的微博疫情情感分析
- CSS的优势(优点、好处)和一些实例
- Javascript简餐——组合继承是个啥
- 北京邮电大学计算机学院马华东,北京邮电大学马华东教授来校交流并作专题讲座...