在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
vue2.x前置概念:路由钩子分类一共分3类, 7个钩子 路由和组件的概念(方便理解钩子函数)路由和组件是2个概念, 可以粗犷的认为:
全局路由钩子router.beforeEach(to, from, next){ } 前置导航守卫 路由进入前 router.afterEach(to, from, next){ } 后置导航守卫 路由进入后 router.beforeResolve(to, from, next){ } 解析守卫
解析组件时, 已经读取所有配置, 前面的关卡都通过了, 准备解析组件前执行 路由配置守卫钩子beforeEnter() 在读取路由配置信息前调用 在beforeCreate()前执行 const router = new VueRouter({ routes: [ { path: '/foo', component: Foo, beforeEnter: (to, from, next) => { } } ] }) 组件内的守卫钩子
默认不能获取组件实例 但是以下办法可以访问 beforeRouteEnter(to, from, next){ // next()的回调函数,在进入路由,实例化执行 next(vm => { // vm等价于当前组件this }) }
当前组件依然在使用路由地址改变满足以上2个条件才会执行
路由钩子执行顺序eg: 从A组件跳转到B组件顺序
如果B路有更新, 每次都会执行以下三个钩子:
vue3.xvue3.x相对于vue2.x, 只有小部分不同, 此处只针对不同做讲解 对比变化图区别补充:
B组件中的子组件不会触发路由钩子
B组件中的子组件会触发路由钩子: onBeforeRouteUpdate和onBeforeRouteLeave
B组件中的子组件会触发路由钩子: onBeforeRouteUpdate和onBeforeRouteLeave 以上就是Vue2.x与Vue3.x中路由钩子的区别详解的详细内容,更多关于Vue2.x与Vue3.x中路由钩子的区别的资料请关注极客世界其它相关文章! |
请发表评论