详述Vue |
您所在的位置:网站首页 › vue-router钩子 › 详述Vue |
vue-router的钩子函数,其实说的就是导航守卫,引用官方的话,"导航"表示路由正在发生改变,vue-router提供的导航守卫主要用来通过跳转或取消的方式守卫导航,有多种机会植入路由导航过程中:全局的,单个路由独享的,或者组件级的,也就是:全局守卫、路由守卫、组件守卫 全局守卫 ****beforeEach:全局前置守卫,在路由跳转前触发,它在每次导航时都会触发 beforeResolve:全局解析守卫,在路由跳转前,所有组件内守卫和异步路由组件被解析之后触发,它同样在每次导航时都会触发 afterEach:全局后置钩子,它发生在路由跳转完成后,beforeEach和beforeResolve之后,beforeRouteEnter(组件内守卫)之前,它同样在每次导航时都会触发。 路由守卫 ****beforeEnter:需要在路由配置上定义beforeEnter守卫,此守卫只在进入路由时触发,在beforeEach之后紧随执行,不会再params、query或hash改变时触发 组件守卫 beforeRouteEnter:路由进入组件之前调用,该钩子在全局守卫beforeEach和路由守卫beforeEnter之后,全局beforeResolve和全局afterEach之前调用 beforeRouteUpdate:路由发生改变之前调用 beforeRouteLeave:路由离开组件前调用 完整的导航解析流程 导航被触发 → 在失活的组件里调用beforeRouteLeave守卫 → 调用全局的beforeEach守卫 → 在重用的组件里调用beforeRouteUpdate守卫 → 在路由配置里调用beforeEnter → 解析异步路由组件 → 在被激活的组件里调用beforeRouteEnter → 调用全局的beforeResolve守卫 → 导航被确认 → 调用全局的aterEach钩子 → 触发DOM更新 → 调用beforeRouteEnter守卫中传给next的回调函数,创建好的组件实例会作为回调函数的参数传入 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |