美文网首页
路由守卫

路由守卫

作者: 陈大事_code | 来源:发表于2019-06-12 17:49 被阅读0次

作用

用于跳转或者取消的方式来守卫导航。

路由守卫是异步解析执行,此时导航在所有守卫resolve完之前一直处于等待中

钩子函数

  1. beforeEach

    全局前置路由

  2. afterEach

    全局后置路由,参数只有(to,from),没有next回调记住。

  3. beforeEnter

    在路由配置中直接定义,守卫单个路由。

  4. beforeRouteEnter

    组件内路由,直接当做组件的钩子函数用。在组件渲染之前调用,因此不能用this哦,但是next回调的参数中提供了vm,你可以进行使用。其他钩子函数都不提供,只此一家

  5. beforeRouteUpdate

    同上,为组件内路由。这个是针对带有动态参数的路径来设置的,形如:/foo/:id,在 /foo/1 和 /foo/2。因为这种形式的路径,组件会进行复用,这个钩子就是针对这种情况而出现的,是新出的。可以通过this来访问组件实例哦~

  6. beforeRouteLeave

    同上,为组件内路由。当导航离开路由时调用~,也可以使用this来访问组件实例哦。

全局前置守卫(最常用)

语法

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

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

其中,

to:将要进入的路由对象。

from:当前将要离开的路由对象。

next():通过该方法来控制路由接下来如何跳转

如何跳转?

  1. next()。正常向下执行。
  2. next(false)。中断当前导航
  3. next('/')。跳转到指定的不同地址。
  4. next(error)。当参数为Error实例时,则导航对跳转到router.onError()注册过的回到函数。

相关文章

  • vue的路由守卫

    路由守卫分3种:全局守卫路由独享守卫组件内的路由守卫 1.全局守卫:beforeEachbeforeResolve...

  • 路由守卫

    路由守卫分为三种 全局守卫: 路由独享守卫卸载route里 组件内守卫:写在组件配置对象里

  • [VUE]动态的更新页面的Title

    首先可以用路由守卫 + VueRouter来实现路由守卫相关文档1.main.js里加入路由守卫 // 页面修改时...

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

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

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

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

  • Vue嵌套路由和路由守卫

    嵌套路由 路由守卫

  • vue路由守卫

    概念 路由守卫,官网也叫导航守卫,所谓导航,就是路由正在发生变化 路由守卫,主要就是用来通过跳转或取消的方式守卫导...

  • vue学习(52)vue-router(4)

    路由守卫作用:对路由进行权限控制分类:全局守卫、独享守卫、组件内守卫全局守卫(我们可以在meta中配置一些信息) ...

  • 路由

    全局守卫就是每一个路径进来都会经过这个全局守卫的处理 单路由守卫就是把守卫指定给某一个路由 组件内路由就是把守卫放...

  • vue-router 常见导航守卫

    全局守卫vue-router全局有三个守卫 路由独享守卫如果你不想全局配置守卫的话,你可以为某些路由单独配置守卫 ...

网友评论

      本文标题:路由守卫

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