说说Vue中的导航守卫

2019-04-15  本文已影响0人  蓝醇

官方文档地址:https://router.vuejs.org/zh-cn/advanced/navigation-guards.html

当做Vue项目的时候感觉在路由跳转前做一些验证,比如登录验证,是网站中的普遍需求。 对此,vue-router 提供的 beforeEach可以方便地实现全局导航守卫(navigation-guards)。组件内部的导航守卫函数有beforeRouteEnter 、beforeRouteUpdate、beforeRouteLeave。

设置一个全局守卫

使用 router.beforeEach 注册一个全局前置守卫

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

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

当一个导航触发时,全局前置守卫按照创建顺序调用。守卫是异步解析执行,此时导航在所有守卫 resolve 完之前一直处于 等待中

每个守卫方法接收三个参数:

**确保要调用 next 方法,否则钩子就不会被 resolved。

上一篇 下一篇

猜你喜欢

热点阅读