导航守卫

导航守卫,也可以叫路由守卫,“导航”表示路由正在发生改变。

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

完整的导航解析流程

  1. 导航被触发。
  2. 在失活的组件里调用 beforeRouteLeave 守卫。
  3. 调用全局的 beforeEach 守卫。
  4. 在重用的组件里调用 beforeRouteUpdate 守卫 (2.2+)。
  5. 在路由配置里调用 beforeEnter。
  6. 解析异步路由组件。
  7. 在被激活的组件里调用 beforeRouteEnter。
  8. 调用全局的 beforeResolve 守卫 (2.5+)。
  9. 导航被确认。
  10. 调用全局的 afterEach 钩子。
  11. 触发 DOM 更新。
  12. 调用 beforeRouteEnter 守卫中传给 next 的回调函数,创建好的组件实例会作为回调函数的参数传入。

vue-router 导航守卫相关推荐

  1. VUE全局导航守卫、 请求、响应拦截器 的设置

    文件设置参考地址:https://gitee.com/wang_yu5201314/headlines__news/tree/master/%E9%A1%B9%E7%9B%AE%E6%BA%90%E7 ...

  2. Vue - 路由导航守卫控制访问权限,设置 localStorage 过期时间

    Vue 路由导航守卫控制访问权限,设置 localStorage 过期时间 一. 路由导航守卫 二. 路由导航守卫 简单使用 三. 使用路由导航守卫设置 token 过期时间 导航守卫: https: ...

  3. Vue 路由导航守卫(全局守卫、路由独享守卫、组件内守卫)详解

    Vue 路由导航守卫(全局守卫.路由独享守卫.组件内守卫)详解: 路由守卫 官方解释 "导航"表示路由正在发生改变.正如其名,vue-router提供的导航守卫主要用来通过跳转或取 ...

  4. vue路由导航守卫控制访问权限

    利用路由的全局前置守卫beforeEach来控制用户的访问权限. 首先是一个登录的页面 用户输入完整的信息,点击登录时,会本地存储用户的登录状态,如果在本地存储中存在用户登录过的痕迹,用户可以直接进入 ...

  5. VUE router 导航重复点击报错的问题解决两种方案

    VUE router 导航重复点击报错的问题解决两种方案 前几天一个月薪35k的兄弟,给我推了一个人工智能学习网站,看了一段时间挺有意思的.包括语音识别.机器翻译等从基础到实战都有,很详细,分享给大家 ...

  6. Vue--》深入理解 Vue 3 导航守卫,掌握前端路由的灵魂技能!

    目录 vue3导航守卫讲解与使用 element-ui的安装与使用 配置路由和设置路径别名

  7. 路由守卫 AJAX,vue路由导航守卫 和 请求拦截以及基于node的token认证

    #####什么时候需要登录验证与权限控制 1.业务系统通常需要登录才能访问受限资源,在用户未登录情况下访问受限资源需要重定向到登录页面: 2.多个业务系统之间要实现单点登录,即在一个系统或应用已登录的 ...

  8. Vue Router路由守卫

    全局前置.后置路由守卫 router/index.js import Vue from 'vue'; import VueRouter from 'vue-router'; import List f ...

  9. Vue 路由 导航守卫(全局守卫、路由独享守卫、组件内守卫)

    一.全局守卫 1. router.beforeEach((to,from,next)=>{}) 2. 回调函数中的参数,to:进入到哪个路由去,from:从哪个路由离开,next:函数,决定是否 ...

  10. Vue中 路由导航守卫(全局守卫、路由独享守卫、组件内守卫)

    Vue 路由导航守卫(全局守卫.路由独享守卫.组件内守卫)详解: 路由守卫 官方解释 "导航"表示路由正在发生改变.正如其名,vue-router提供的导航守卫主要用来通过跳转或取 ...

最新文章

  1. DropDownList动态添加新项并位于第一项 ASP.NET控件应用
  2. java 网络序_Java使用网络字节序进行数据传输
  3. Documentum常见问题4—如何通过vlink方式直接查看文档内容
  4. 中文信息匮乏年代,新媒体粉墨登场
  5. 探讨浏览器CSS选择器的权重!!!
  6. yum安装ruby_centos 6.5 ruby环境安装
  7. Java Application和Java Applet
  8. 前端基础-html-表格的标题和表头单元格标签
  9. web前端之html从入门到精通
  10. mysql 性能优化 20 条建议
  11. MongoDB笔记(一):MongoDB介绍及Windows下安装
  12. L3G4200陀螺仪学习
  13. 待支付取件费用是什么意思_菜鸟裹裹待支付怎么取消
  14. function func() { for(var i=0; i<3; i++) { setTimeout(()=>{ consol
  15. vue3.0+ts+element-plus多页签应用模板:element-plus按需引入与动态换肤
  16. 用Python写一个拼音输入法
  17. 关于路由器中家长控制和上网控制的设置
  18. 《薄冰实用英语语法详解》独家连载之十三:过去分词
  19. 【NLP相关】NLP的发展历程
  20. 关于移动端IOS input弹起键盘时,引起高度问题

热门文章

  1. ntag213和215有什么区别_【NFC标签,ntag213/ntag215/ntag216标签,可反复擦写,可加密可锁死】价格_厂家 - 中国供应商...
  2. DJ Jazzy Jeff
  3. 字符串的截取substr
  4. java交换二维数组行列_java二维数组行列
  5. 游戏开发物语方案点数分配_游戏开发物语攻略汇总 常见问题解答
  6. php笔刷怎么安装,ps铅笔工具怎么用
  7. 基于图卷积神经网络的微博疫情情感分析
  8. CSS的优势(优点、好处)和一些实例
  9. Javascript简餐——组合继承是个啥
  10. 北京邮电大学计算机学院马华东,北京邮电大学马华东教授来校交流并作专题讲座...