全局路由钩子
beforeEach 路由前置守卫
beforeResolve 解析钩子
afterEach 路由后置守卫,已进入相应路由时执行
路由所对应组件钩子
beforeRouterEnter
进入路由所对应的组件之前,在beforeCreate前产生的,他不能使用实例化对象this,beforeRouteEnter(to,from,next){
next((vm)=>{}) // 该钩子的next内部存在一个回调函数,并有一个代表当前实例对象的vm默认参数
}
beforeRouterUpdate
路由更新之后,但是显示的组件还未更新,如果需要在此时获取到更新之后的数据,可以通过this.$nextTick来获取
beforeRouteLeave
离开前,切换页面离开前就会触发
beforeDestroy
销毁前 ,在下一个路由的mounted之后生效
路由二beforeCreate=>路由二created=>路由二beforeMount=>路由一beforeDestroy=>路由二mounted
第二个页面渲染完毕之后,前一个页面才会销毁
路由配置所对应钩子
beforeEnter //读取路由配置信息之前
一个路由生效的过程为:
beforeEach=>beforeEnter=>beforeRouterEnter=>beforeResolve=>afterEach
路由前置守卫= =>读取路由配置信息之前= =>完成路由信息配置,进入组件之前= => 组件信息加载完毕 ==>路由后置守卫
路由更新时
beforeEach=>beforeRouterUpdate=>afterEach
afterEnter里面存在to,from两个参数,其它存在to,from,next三个参数,和最常用的beforeEach用法类似(beforeDestroy不太确定有几个)