路由导航守卫

这篇具有很好参考价值的文章主要介绍了路由导航守卫。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

路由导航守卫有哪些:

全局守卫
组件内守卫
独享守卫

1.全局守卫

beforeEach 全局前置守卫
beforeResolve 全局解析守卫
afterEach 全局后置守卫

在创建实例的过程中,我们可以定义全局守卫:

路由导航守卫,前端,javascript,vue.js

2.独享守卫

beforeEnter 就是放到routes中定义的:

const routes = [
    {
        name: 'user',
        component: User
        beforeEnter: (to, from) => {
            
        }
    }
]
//beforeEnter: [removeQueryParams, removeHash], 可以接受函数数组,removeQueryParams,removeHash为自定义的函数
注意点是独享守卫在路由参数改变但是路由本身地址没有变化的情况下是不会再次触发的。

3.组件内守卫


beforeRouteEnter, beforeRouteUpdate, beforeRouteLeave

beforeRouteEnter: 组件对应路由被验证前调用,不能获取组件实例this
beforeRouteUpdate:在当前组件路由改变时,但是组件本身被复用时调用。可以访问this。
beforeRouteLeave:在导航离开当前组件路由时调用,可以访问this

Vue3中setup 中调用可以通过api onBeforeRouteUpdate和onBeforeRouteLeave分别添加update和leave守卫

注意一个事情是beforeRouteEnter中如果想要拿到this实例可以通过next回调函数

beforeRouteEnter: (to, from, next) => {
    next(vm => { //这里vm相当于组件实例this,可以正常访问到组件内数据
            
    })
}
但是next回调被调用时已经时组件路由被读取解析并记录后才调用的,就是如果你要在回调中去重定向路由,那么你当前页面的路由也是在路由记录中的。

完整的导航解析流程:
1.已经失活的组件调用beforeRouteLeave
2.调用全局前置守卫beforeEach
3.调用复用组件的beforeRouteUpdate
4.在路由配置里调用beforeEnter
5.解析异步路由组件
6.调用被激活组件内beforeRouteEnter
7.调用全局解析守卫beforeResolve
8.导航被确认
9.调用全局后置守卫afterEach
10.触发Dom更新
12.调用beforeRouteEnter守卫中传给next的回调函数,创建好的组件实例会作为回调函数的参数传入

综上所述,Vue Router中的导航守卫是非常灵活且强大的功能,我们可以使用全局守卫、路由守卫和组件内守卫,来实现各种自定义的逻辑。在日常开发中,我们可以根据具体需求,灵活运用这些守卫,以达到更好的用户体验和功能实现。

总结起来,导航守卫是Vue Router中非常重要的功能,它可以帮助我们在路由切换过程中做一些自定义的逻辑处理。通过全局守卫、路由守卫和组件内守卫,我们可以实现各种各样的功能,例如路由拦截、权限验证、路由切换动画等。在实际项目开发中,合理使用导航守卫,能够提高开发效率和用户体验。文章来源地址https://www.toymoban.com/news/detail-744385.html

到了这里,关于路由导航守卫的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 20230706----重返学习-vue路由导航守卫相关-物美后台管理系统

    常见面试题 面试题:介绍一下 vue-router 中的导航守卫函数 面试题:介绍一下你对vue-router的理解? 导航守卫函数 面试题:介绍一下 vue-router 中的导航守卫函数 在每一次路由切换的时候,首先把路由匹配、导航确认等事宜先处理好-在此期间会触发一系列的钩子函数,这些函数

    2024年02月12日
    浏览(33)
  • Vue2路由:手动配置使用路由&路由嵌套、路由动态传参(:参数,query、props)、编程式导航(back、go)、导航守卫

    过了一遍vue2的router,整理一下小结 目录 一、前端路由的概念与原理 1.1 什么是路由 1.2 路由的工作方式 二、vue-router的基本使用 2.1 安装、配置、使用router 2.2 redirect重定向 三、嵌套路由 3.1 声明子路由的规则 3.2 默认子路由 四、动态路由 4.1 动态路由的概念 4.2 动态路由取参方

    2024年02月05日
    浏览(34)
  • Vue2-replace属性、编程式路由导航、缓存路由组件、两个新的生命周期钩子、路由守卫、路由器工作模式

    🥔:如果事与愿违,那一定是上天另有安排 更多Vue知识请点击——Vue.js 1.作用:控制路由跳转时操作浏览器历史记录的模式 2.浏览器的历史记录有两种写入方式:分别为 push 和 replace , push是追加历史记录,replace是替换当前记录 。路由跳转时候 默认为push 3.如何开启replace模

    2024年02月10日
    浏览(40)
  • 路由导航守卫

    路由导航守卫有哪些: 全局守卫 组件内守卫 独享守卫 1.全局守卫 beforeEach 全局前置守卫 beforeResolve 全局解析守卫 afterEach 全局后置守卫 在创建实例的过程中,我们可以定义全局守卫: 2.独享守卫 beforeEnter 就是放到routes中定义的: const routes = [     {         name: \\\'user\\\',  

    2024年02月05日
    浏览(32)
  • React导航守卫(V5路由)

    下载: 当我们进行路由跳转的时候,有时候需要满足某种条件才能跳转,比如我只有我们登录成功之后才能到首页面,否则就不能到首页面,这时候我们就需要对路由进行拦截。 例如: (1)当我们登录的时候存储一个会话存储 (2)然后我们给访问页面添加一个判断 //封装一个判

    2024年01月19日
    浏览(32)
  • React导航守卫(V6路由)

    下载: 当登录之后才可以去访问其他页面 (1)在登录页面,我们点击登录的时候,保存一个token,在登录页面引入重定向useNavigate (2)在存放路由的文件中,封装一个高阶组件 封装一个高阶组件(其实就是函数,这个函数要接收一个组件作为参数,返回一个组件) (3)当我们给首页

    2024年01月18日
    浏览(37)
  • Vue2-导航守卫

    在Vue中,导航守卫是一组用于控制路由导航的钩子函数。这些钩子函数允许你在路由导航的不同阶段执行一些操作,比如在路由切换之前进行验证、处理路由变化等。 Vue提供了三种类型的导航守卫: 全局前置守卫 :在路由切换之前执行,适用于整个应用的路由。 路由独享的

    2024年01月23日
    浏览(28)
  • Vue 导航守卫

    导航守卫可以控制路由的访问权限,主要是用来监听路由的进入和离开。 当进入或离开路由组件时,可以通过导航守卫做一些拦截,实现权限登录等功能。 导航守卫分为三种:全局守卫、独享守卫、组件守卫。 参数说明: 每个导航守卫都有三个参数,全局后置守卫 afterEa

    2024年02月13日
    浏览(29)
  • Vue3 中 导航守卫 的使用

    在编写vue里的登录注册时,我们始终绕不开对导航守卫的使用,vue-router4.0版里有一些重要更新,在这里分享给大家。 正如其名, vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。这里有很多方式植入路由导航中:全局的,单个路由独享的,或者组件级的。

    2024年02月02日
    浏览(33)
  • Vue——路由守卫(全局前置路由守卫beforeEach、全局后置路由守卫router.afterEach、独享路由守卫beforeEnter、组件内路由守卫 )

     作用:对路由进行权限控制 分类:全局守卫、独享守卫、组件内守卫 目录 一、全局前置路由守卫router.beforeEach(切换之前调用,to、from、next参数) 改进代码 二、全局后置路由守卫router.afterEach( 切换之后调用,to、from参数,没有next参数) 三、独享路由守卫beforeEnter(某一

    2024年02月08日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包