如何在Vue组件中使用vue-router的钩子函数

今天发现需要在某些页面需要使用路由的钩子函数,但是发现加上去之前没有反应?

然后去翻了一下资料,so easy,附上代码:
在main.ts(因为我使用ts写的,所以在main.ts)或main.js里面加上钩子函数的注册就OK


import Component from 'vue-class-component'

// Register the router hooks with their names
Component.registerHooks([
  'beforeRouteEnter',
  'beforeRouteLeave',
  'beforeRouteUpdate' // for vue-router 2.2+
])

如果发现import 报错,直接npm install vue-class-componentyarn add vue-class-component
然后在每个组件里面调用相应的路由钩子就可以:

beforeRouteLeave(to, from, next) {
    // ....
    next()
},
beforeRouteEnter(to, from, next) {
    // ....
    next()
},
beforeRouteUpdate(to, from, next) {
    // ....
    next()
},
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • # 传智播客vue 学习## 1. 什么是 Vue.js* Vue 开发手机 APP 需要借助于 Weex* Vu...
    再见天才阅读 9,067评论 0 6
  • vue是什么? vue是构建数据驱动的web界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现...
    九四年的风阅读 12,784评论 2 131
  • 一:什么是闭包?闭包的用处? (1)闭包就是能够读取其他函数内部变量的函数。在本质上,闭包就 是将函数内部和函数外...
    xuguibin阅读 13,301评论 1 52
  • ## 框架和库的区别?> 框架(framework):一套完整的软件设计架构和**解决方案**。> > 库(lib...
    Rui_bdad阅读 8,175评论 1 4
  • eval(str) 计算字符串中的表达式例:str = “1+2” eval(str)=3如果str="[1,2...
    super静_jingjing阅读 2,967评论 0 1

友情链接更多精彩内容