Перехватчики Vue Router не запускаются в компоненте с использованием Typescript - PullRequest
0 голосов
/ 05 июля 2019

Это меня немного озадачило.Я немного искал, но до сих пор не представляю, почему перехватчики маршрута не работают в компоненте:

1.Компонент загружается из RouterView:

<router-view class="z1" :key="$route.name" />

2.Я зарегистрировал крючки в main.ts, а также в My.vue (чтобы убедиться, что регистрация прямо здесь):

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

3.Хук даже работает в моей конфигурации маршрутизатора:

{
    path: '/my',
    name: 'my',
    component: My,
    // beforeEnter: (to: Route, from: Route, next: any): void => {
    //  console.log('It works!’);  // It works here!
    // }
},

4.Но это не работает в моем компоненте:

@Comp()
export default class My extends Vue {
    public beforeRouteEnter (to: Route, from: Route, next: any): void {
        debugger;       // not triggered!
        next((vm: Vue.Component) => {
            debugger;   // not triggered!
            next();
        });
    }
}

Так кто-нибудь может мне помочь с этим?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...