vue3路由跳转执行的钩子函数
时间: 2024-11-05 08:09:53 浏览: 22
解决vue单页路由跳转后scrollTop的问题
Vue3中的路由跳转通常会触发一系列钩子函数,以便在导航过程中执行特定的操作。这些钩子函数分为两类:
1. **全局导航守卫** (Global Navigation Guards):
- **beforeCreate**: 路由初始化之前被调用。
- **created**: 路由已创建并挂载到应用实例上,但还没有激活。
- **beforeRouteEnter**: 钩子在目标组件被渲染前调用,可以访问目标组件选项,但还没有接收到组件实例。
- **beforeRouteUpdate**: 当组件已经渲染过,此时将更新组件的props或状态,但路由参数不变。
- **beforeRouteLeave**: 在离开当前路由时调用,可以在确认离开之前执行操作。
- **beforeDestroy**: 跳转前调用,但只有当新的路由被确认匹配时才会执行。
2. **组件级导航守卫** (Component-Level Navigation Guards):
- **beforeMount**: 组件开始渲染之前调用,此时组件还未插入DOM。
- **mounted**: 组件已经被挂载并且DOM已经更新完成。
- **beforeRouteUpdate**: 类似于全局的beforeRouteUpdate,仅适用于同一路由的更新。
- **beforeDestroy**: 在离开组件时调用。
通过设置这些钩子,你可以控制路由的加载、验证用户权限、获取数据、处理路由切换动画等。例如,如果你想在每次导航前检查用户是否登录,可以使用`beforeEach`钩子。
阅读全文