vue+typescript 无法使用 beforeRouteEnter()

main.ts中配置如下
import Component from 'vue-class-component';
Component.registerHooks([

'beforeRouteEnter',
'beforeRouteLeave',
'beforeRouteUpdate',

]);

但是在组件中使用 beforeRouteEnter()不执行
private beforeRouteUpdate(to: Route, form: Route, next: () => void): void{

console.log(11)
next();

}

阅读 10.8k
4 个回答

在新的js文件中执行

//registerHooks.js
import Component from 'vue-class-component'

Component.registerHooks([
 'beforeRouteEnter',
 'beforeRouteLeave',
 'beforeRouteUpdate'     
])

然后在main.ts 最上面引入registerHooks.js


    import { Component } from 'vue-property-decorator';
    
    Component.registerHooks([
      'beforeRouteEnter',
    ])

如果只是想更新视图的话可以考虑监听路由

    @Watch('$route')
    routeWatch() {
        this.loadData();
    }

我用的是vue-cli3,@Watch是

import { Component, Prop, Vue, Watch } from 'vue-property-decorator';
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题