JavaScript中Vue-router有哪些钩子和使用场景

  介绍

这篇文章主要介绍JavaScript中Vue-router有哪些钩子和使用场景,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

<强> Vue-router有哪些钩子?使用场景吗?

路由器的实现可以点这里

前面我们用大白话讲过什么是钩子,这里在重复一下,就是在什么什么之前,什么什么之后,英文叫钩子,专业点叫生命周期,装逼点可以叫守卫……

vue-router中也存在钩子的概念,分为三步记忆

<李>

全局守卫

<李>

路由独享守卫

<李>

组件独享守卫

<编辑>全局守卫

很好理解,全局守卫就是能监听到全局的路由器动作

<李>

路由器。beforeEach路由前置时触发

=new VueRouter (const路由器{…})//要进入的目标路由对象//当前的路由对象//下一个解决这个钩子,执行效果由第二方法的参数决定//next()进入管道中的下一个钩子//下一个(false)中断当前导航//下一个({path})当前导航会中断,跳转到指定路径//下一个(错误)中断导航且错误传递给router.onErr回调//确保前置守卫要调下,用否然钩子不会进入下一个管道   路由器。beforeEach(下),从=比;{//?   }) <李>

路由器。afterEach路由后置时触发

//与前置守卫基本相同,不同是没有下参数   路由器。afterEach((,)=比;{//?   }) <李>

router.beforeResolve

跟路由器。beforeEach类似,在所有组件内守卫及异步路由组件解析后触发

<编辑>路由独享守卫

参数及意义同全局守卫,只是定义的位置不同

const路由器=new VueRouter ({   路线:[   {   路径:& # 39;/& # 39;   组件:演示,   beforeEnter:(,从下一个)=比;{//?   },   afterEnter:(,从下一个)=比;{//?   },      }   ]   }) <编辑>组件独享守卫

组件内新一个守卫,beforeRouteUpdate,在组件可以被复用的情况下触发,如/演示/:id,在/演示/1跳转/演示/2的时候,/演示可以被复用,这时会触发beforeRouteUpdate

={const演示   模板:“……”   beforeRouteEnter(下),从{   …   },//在当前路由改变,但是该组件被复用时调用   beforeRouteUpdate(下),从{   …   },   beforeRouteLeave(下),从{   …   }   } <李>

注意在beforeRouteEnter前不能拿到当前组件的,因为组件还有被创建,我们可以通过下一个(vm=比;{console.log (vm)})回传当前组件的这个进行一些逻辑操作

使用场景

路由进入前最典型的可以做一些权限控制,路由离开时清除或存储一些信息,任务等等

总结

vue-router中钩子分为全局的,局部的,以及组件三种形式,他们都有前置守卫以及后置守卫,其中组件的前置守卫不能拿到当前组件的,因组件还没有被创建,可以通过接下来的参数进行回传,前置守卫必须调用一方法,否则不会进入下一个管

以上是“JavaScript中vue-router有哪些钩子和使用场景”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

JavaScript中Vue-router有哪些钩子和使用场景