vue路由守卫

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue路由守卫相关的知识,希望对你有一定的参考价值。

参考技术A 所谓路由守卫就是页面跳转时触发的钩子函数,我们称之为路由守卫,vue一共给我们提供了三种路由守卫,分别是全局路由守卫,组件内路由守卫,路由独享守卫,路由独享守卫是写在路由中的,这三种路由守卫都会有beforeEach,beforeResolve,afterEach三个钩子函数,分别表示跳转前,进入的时候,进入路由后触发的钩子函数,这三个钩子函数都有一个回调函数,里面有三个参数,分别为to,from,next分别表示将要进入的路由,离开之前的路由,下一个要进入的路由。

在项目中我们一般使用路由来实现页面的鉴权,比如,当用户登陆之后,我们可以把后台返回的token或者用户的一些信息存入本地存储或vuex中,当用户跳转页面时,我们会在路由中判断本地是否存有token,如果有token则使用next方法让用户跳转到相应的页面,没有则使用next方法让用户返回到登录页

vue的路由守卫都有哪些?

路由守卫分为以下几种
全局守卫:beforeEach(是路由的钩子函数,在每一个路由跳转之前执行,常做登录权限判断,参数:to,from,next)
后置守卫:afterEach(在跳转之后执行,参数:to,from)
全局解析守卫:beforeResolve(参数:to,from,next。在beforeEach之后,afterEach之前)
路由独享守卫:beforeEnter
组内路由守卫:beforeRouteEnter,beforeRouteUpdate,beforeRouteLeave
学习前端知识,推荐了解北京尚学堂,多年前端培训经验、多位优秀国内外老师面对面授课,给你带来最完美的课程体验。
参考技术A

一.全局守卫

1. router.beforeEach((to,from,next)=>)

  · 回调函数中的参数,to:进入到哪个路由去,from:从哪个路由离开,next:函数,决定是否展示你要看到的路由页面。

2.全局后置钩子router.afterEach((to,from)=>)

    只有两个参数,to:进入到哪个路由去,from:从哪个路由离。

    如下,每次切换路由时,都会弹出alert,点击确定后,展示当前页面。

以上是关于vue路由守卫的主要内容,如果未能解决你的问题,请参考以下文章

vue全局路由守卫

vue局部路由守卫

Vue路由守卫(全局路由守卫、路由独享守卫、组件内部守卫)

Vue路由守卫详解

Vue 导航守卫

vue之路由钩子函数-路由守卫