vue-router 有几种导航守卫?

组件内导航守卫:

beforeRouterEnter: 在页面还未进入的时候。这个时候vue实力还未创建。因此访问不到this。
beforeRouterUpdate:当前页面组件被复用的时候,页面的路径发生了改变,会触发此方法。在这个时候是可以访问到this的
beforeRouterLeave:离开当前路由的时候,即要离开当前页面的时候,这个时候是可以访问到this的

全局导航守卫

router.beforeEach: 全局前置守卫进入路由之前触发
**router.beforeResolve:**全局解析守卫在beforeRouteEnter调用之后调用
router.beforeAfter: 全局后置钩子进入路由后触发

路由独享守卫

const router = new VueRouter({
     
      routes: [
        {
     
          path: '/foo',
          component: Foo,
          beforeEnter: (to, from, next) => {
      
            // 参数用法什么的都一样,调用顺序在全局前置守卫后面,所以不会被全局守卫覆盖
            // ...
          }
        }
      ]
    })

你可能感兴趣的:(vue,js,javascript,web)