美文网首页
vue-router全局导航守卫

vue-router全局导航守卫

作者: black墨 | 来源:发表于2021-09-14 08:58 被阅读0次

官方释义:正如其名,vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的。

记住参数或查询的改变并不会触发进入/离开的导航守卫。你可以通过观察 $route 对象来应对这些变化,或使用 beforeRouteUpdate 的组件内守卫。
https://router.vuejs.org/zh/guide/advanced/navigation-guards.html#%E5%85%A8%E5%B1%80%E5%89%8D%E7%BD%AE%E5%AE%88%E5%8D%AB

全局前置守卫

router.beforeEach

const router = new VueRouter({ ... })

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

里面回调函数有三个参数:

  • to: Route: 即将要进入的目标路由对象

  • from: Route: 当前导航正要离开的路由

  • next: Function: 一定要调用该方法来 resolve 这个钩子。

一般来说,这个函数适合去处理一些路由权限加载之类的。

全局解析守卫

router.beforeResolve,这和 router.beforeEach 类似,区别是在导航被确认之前,同时在所有组件内守卫和异步路由组件被解析之后,解析守卫就被调用,没怎么用过。

全局后置守卫

router.afterEach

router.afterEach((to, from) => {
  // ...
})

注意这个地方没有next 函数,因为这个时候路由导航已经确认了,next也没有意义了。

相关文章

  • vue导航守卫

    导航守卫:vue-router主要提供跳转或取消的方式守卫导航, 导航守卫分为全局前置守卫、全局解析守卫、全局后置...

  • 导航守卫

    vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航 全局守卫 全局前置守卫 当一个导航触发时...

  • beforeRouteEnter钩子处理页面刷新问题

    vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。有多种机会植入路由导航过程中:全局的, ...

  • vue2.x导航卫士之beforeRouteEnter/befo

    引:vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。有多种机会植入路由导航过程中:全局的...

  • vue-路由导航守卫&异步组件

    导航守卫包括全局导航守卫、路由守卫、组件局部守卫 全局导航守卫 在全局导航守卫中,每次路由的跳转他们三个都会被触发...

  • 2021-04-11

    vue-router 路由钩子函数(导航守卫) 路由钩子函数有三种: 全局钩子: beforeEach(全局前置守...

  • vue学习笔记(八)导航守卫(全局守卫,路由独享,组件内守卫)

    导航守卫-全局守卫 导航守卫-路由独享 导航守卫-组件内守卫

  • Vue-router执行流程分析

    Vue-router完整的导航解析流程: 导航被触发 在失活的组件里调用离开守卫 调用全局的beforeEach守...

  • vue导航守卫

    根据作用域的不同,vue导航守卫分三种:全局导航守卫、组件内部导航守卫、路由独享守卫 全局导航守卫,在main.j...

  • vue-router进阶

    导航守卫 vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航(路由发生改变才会守卫)。参数 ...

网友评论

      本文标题:vue-router全局导航守卫

      本文链接:https://www.haomeiwen.com/subject/dmzqgltx.html