广告
返回顶部
首页 > 资讯 > 精选 >vue3中的路由守卫怎么使用
  • 542
分享到

vue3中的路由守卫怎么使用

2023-07-06 11:07:43 542人浏览 安东尼
摘要

这篇文章主要介绍“vue3中的路由守卫怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue3中的路由守卫怎么使用”文章能帮助大家解决问题。路由守卫有哪几种?路由守卫(导航守卫)分为三种:全局

这篇文章主要介绍“vue3中的路由守卫怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue3中的路由守卫怎么使用”文章能帮助大家解决问题。

路由守卫有哪几种?

路由守卫(导航守卫)分为三种:全局守卫(3个)、路由独享守卫(1个)、组件的守卫(3个)

路由守卫的三个参数

to:要跳转到的目标路由

from:从当前哪个路由进行跳转

next:不做任何阻拦,直接通行

注意: 必须要确保 next函数 在任何给定的导航守卫中都被调用过一次。它可以出现多次,但是只能在所有的逻辑路径都不重叠的情况下,否则会报错。

案例:

router.beforeEach((to, from, next) => {  if (to.name !== 'Login' && !isAuthenticated) next({ name: 'Login' })  else next()})

一、全局路由守卫

全局路由守卫有三个:全局前置守卫,全局后置守卫,全局解析守卫

全局前置守卫

使用方式:main.js中配置,在路由跳转前触发,这个钩子作用主要是用于登录验证,也就是路由还没跳转提前告知,以免跳转了再通知就为时已晚

代码:

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

例子:做登录判断

router.beforeEach((to,from,next)=>{  if(to.path == '/login' || to.path == '/reGISter'){    next();  }else{    alert('您还没有登录,请先登录');    next('/login');  }})

全局后置守卫

使用方式:main.js中配置,和beforeEach相反,它是在路由跳转完成后触发,它发生在beforeEach和beforeResolve之后,beforeRouteEnter(组件内守卫)之前。钩子不会接受next函数也不会改变导航本身

代码:

router.afterEach((to,from)=>{<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->})

全局解析守卫

使用方式:main.js中配置,这个钩子和beforeEach类似,也是路由跳转前触发,区别是在导航被确认之前,同时在所有组件内守卫和异步路由组件被解析之后,即在 beforeEach 和 组件内beforeRouteEnter 之后,afterEach之前调用。

代码:

router.beforeResolve((to,from,next)=>{<!--{cke_protected}{C}%3C!%2D%2D%20%2D%2D%3E-->})

一、组件内守卫

组件内守卫有个三个:路由进入之前beforeRouteEnter,路由离开时beforeRouteLeave,页面更新时beforeRouteUpdate

  • beforeRouteEnter(to, from, next)

使用方式:在组件模板中使用,跟methods: {}等同级别书写,组件路由守卫是写在每个单独的vue文件里面的路由守卫

代码:

beforeRouteEnter(to, from, next) {    // 在组件生命周期beforeCreate阶段触发    console.log('组件内路由前置守卫 beforeRouteEnter', this) // 访问不到this    next((vm) => {      console.log('组件内路由前置守卫 vm', vm) // vm 就是this    })  },

beforeRouteUpdate(to, from, next)

使用方式:在组件模板中使用,跟methods: {}等同级别书写,组件路由守卫是写在每个单独的vue文件里面的路由守卫

代码:

beforeRouteUpdate (to, from, next) {    // 同一页面,刷新不同数据时调用,    // 可以访问组件实例 }
  • beforeRouteLeave(to, from, next)

使用方式:在组件模板中使用,跟methods: {}等同级别书写,组件路由守卫是写在每个单独的vue文件里面的路由守卫

代码:

beforeRouteLeave (to, from, next) {    // 导航离开该组件的对应路由时调用    // 可以访问组件实例}

路由独享守卫

路由独享守卫只有一个:进入路由时触发beforeEnter

  • 路由独享守卫 beforeEnter(to, from, next)

使用方式:在router.js中使用,路由独享守卫是在路由配置页面单独给路由配置的一个守卫

代码

const router = new VueRouter({  routes: [    {      path: '/foo',      component: Foo,      beforeEnter: (to, from, next) => {        // ...      }    }  ]})

导航解析流程

触发进入其它路由
2.调用要离开路由的组件守卫beforeRouteLeave
3.调用全局的前置守卫beforeEach
4.在重用的组件里调用 beforeRouteUpdate
5.在路由配置里的单条路由调用 beforeEnter
6.解析异步路由组件
7.在将要进入的路由组件中调用beforeRouteEnter
8.调用全局的解析守卫beforeResolve
9.导航被确认
10.调用全局的后置钩子afterEach
11.触发 DOM 更新mounted
12.执行beforeRouteEnter守卫中传给 next的回调函数

关于“vue3中的路由守卫怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: vue3中的路由守卫怎么使用

本文链接: https://www.lsjlt.com/news/357962.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue3中的路由守卫怎么使用
    这篇文章主要介绍“vue3中的路由守卫怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue3中的路由守卫怎么使用”文章能帮助大家解决问题。路由守卫有哪几种?路由守卫(导航守卫)分为三种:全局...
    99+
    2023-07-06
  • vue3中7种路由守卫如何使用
    全局前置守卫1.使用方式:main.js中配置,在路由跳转前触发,这个钩子作用主要是用于登录验证,也就是路由还没跳转提前告知,以免跳转了再通知就为时已晚2.代码:router.beforeEach((to,from,next)=>{}...
    99+
    2023-05-14
    Vue3
  • Vue中路由守卫怎么用
    小编给大家分享一下Vue中路由守卫怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1.全局守卫1.1 全局前置守卫顾名思义,前置守卫主要是在你进行路由跳转之前根据你的状态去 进行一系列操作(全局前置是为在路由初始化以及...
    99+
    2023-06-21
  • vue路由守卫及路由守卫无限循环问题怎么解决
    这篇“vue路由守卫及路由守卫无限循环问题怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue路由守卫及路由守卫无限...
    99+
    2023-07-04
  • Vue中路由守卫的具体使用
    目录1.全局守卫1.1 全局前置守卫1.2 全局后置路由守卫1.3 整合2. 路由独享的守卫3.组件内的守卫作用:对路由进行权限控制 分类:全局守卫、独享守卫、组件内守卫 1.全局守...
    99+
    2022-11-12
  • Angular中路由守卫的使用示例
    这篇文章主要介绍了Angular中路由守卫的使用示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、路由守卫当用户满足一定条件才被允许进入或者离开一个路由。路由守卫场景:只...
    99+
    2023-06-06
  • angular9中路由守卫的使用方法
    小编给大家分享一下angular9中路由守卫的使用方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!路由守卫是什么任何用户都能在任何时候导航到任何地方。但有时候出...
    99+
    2023-06-14
  • vue-router的路由守卫是什么
    这篇文章主要介绍“vue-router的路由守卫是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue-router的路由守卫是什么”文章能帮助大家解决问题。 ...
    99+
    2022-10-19
  • vue全局路由守卫如何使用
    在vue中使用全局路由守卫的方法:1.新建项目,安装vue-router;2.引入vue和vue-router;3.使用Vue.use注册路由;4.定义和配置路由;5.执行代码使用全局路由守卫;具体步骤如下:首先,新建一个html项目,并在...
    99+
    2022-10-13
  • 使用vue-router钩子函数怎么实现路由守卫
    这篇文章给大家介绍使用vue-router钩子函数怎么实现路由守卫,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。全局钩子函数beforeEach:beforeEach一共接收三个参数,分别是to、from、next;t...
    99+
    2023-06-14
  • Vue中的路由使用和多种守卫方法是什么
    今天小编给大家分享一下Vue中的路由使用和多种守卫方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.vue-rou...
    99+
    2023-07-05
  • 详解Vue中的路由与多种守卫
    目录什么是路由呢?什么是路由守卫呢?1.vue-router2.什么是路由路由分类3.路由的基本使用4.多级路由5.路由传参1.params2.路由的props配置3.<rou...
    99+
    2023-02-02
    Vue路由守卫 Vue中的路由
  • Vue3中的导航守卫如何使用
    查看以下情形:默认情况下,点击主页链接可直接进入指定界面,但是该界面是需要用户登录后方可访问的,这是个问题可设置导航守卫来检测用户是否登录,如果已登录,则进入后台页,如果未登录,则强制进入登录页,如图二、导航守卫有哪几种?1、全局守卫(3个...
    99+
    2023-05-16
    Vue3
  • 一文浅析Vue中的路由和多种守卫
    4.多级路由在配置路由规则的以及路由里面进行配置下一级路由使用children:[ { } ]这种形式 routes: [{ path: '/about', compon...
    99+
    2023-05-14
    Vue
  • Vue3中导航守卫的基本使用方法
    目录前言:一、什么是导航守卫?二、导航守卫有哪几种?1、全局守卫(3个)全局前置守卫全局解析守卫全局后置钩子2、路由独享守卫(1个)三、导航守卫的三个参数四、如何在 vue3 中使用...
    99+
    2023-03-09
    vue 导航守卫 Vue3导航守卫 vue 导航
  • Vue中的路由导航守卫导航解析流程
    目录全局前置守卫全局解析守卫全局后置钩子路由独享的守卫组件内的守卫可用的配置 API使用组合 API完整的导航解析流程正如其名,vue-router 提供的导航守卫主要用来通过跳转或...
    99+
    2023-05-16
    Vue路由导航守卫 Vue路由守卫
  • vue路由守卫的三种类型分别是什么
    这篇“vue路由守卫的三种类型分别是什么”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“vue路由守卫的三种类型分别是什么”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来...
    99+
    2023-06-06
  • vue的路由守卫和keep-alive后生命周期是什么
    本文小编为大家详细介绍“vue的路由守卫和keep-alive后生命周期是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue的路由守卫和keep-alive后生命周期是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来...
    99+
    2023-06-29
  • Angular路由中的懒加载、守卫、动态参数是什么意思
    本篇内容主要讲解“Angular路由中的懒加载、守卫、动态参数是什么意思”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Angular路由中的懒加载、守卫、动态参...
    99+
    2022-10-19
  • vue的导航守卫怎么使用
    这篇文章主要讲解了“vue的导航守卫怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue的导航守卫怎么使用”吧! 导航守...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作