vue-router导航守卫(二)——全局守卫

 

全局守卫,是指路由实例上直接操作的钩子函数,他的特点是所有路由配置的组件都会触发(直白点就是触发路由就会触发这些钩子函数),如下的写法。钩子函数执行顺序包括beforeEach、beforResolve、afterEach三个。

 

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

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

 

(1)【beforeEach】

   在路由跳转前触发,参数包括to、from、next这三个,这个钩子作用主要是用于登录验证,也就是路由还没跳转提前告知,以免跳转了再通知就为时已晚。

(2)【beforeResolve】

   这个钩子和beforeEach类似,也是路由跳转前触发,参数也是to、from、next三个。

     和beforeEach区别为:在 beforeEach 和 组件内 beforeRouteEnter 之后,afterEach之前调用。

(3)【afterEach】

   和beforeEach相反,它是在路由跳转完成后触发,参数包括to,from没有了next。

   它发生在beforeEach和beforeResolve之后,beforeRouteEnter(组件内守卫,后讲)之前。

 

posted @ 2022-04-25 17:02  最初的样子  阅读(235)  评论(0编辑  收藏  举报