所谓的路由守卫就是当我们进⾏⻚⾯跳转的时候会触发的钩⼦函数, 我们把它称之为vue路由守卫.
vue⼀共给我们提供了三种路由守卫,第⼀种全局路由守卫,第⼆种是组件内路由守卫,第三种路由 独享守卫,这个是写在路由⾥⾯.
全局守卫,会有beforeEach(跳转前触发的钩子函数)、beforeResolve(进⼊路由的时的钩子函数)、afterEach(进⼊路由之后的钩子函数) .
这⼏个钩⼦函数⾥⾯都有⼀个回调函数,这个回调函数⾥⾯会有三个参数,分别是to,from,next,分别对应的是要进⼊的路由、离开之前的路由,以及进⼊下⼀个路由。
在项⽬中我们经常使⽤路由守卫实现页面的鉴权. ⽐如:当⽤户登录之后,我们会把后台返回的token以及⽤户信息保存到vuex 和本地,当⻚⾯进⾏跳转的时候,我们会在路由守卫⾥⾯获取vuex⾥⾯的token,如果token存在的话,我们则使⽤next让他进⼊要跳转的页面,如果token不存在的话我们使⽤next⽅法让他回到登录页。