Это меня немного озадачило.Я немного искал, но до сих пор не представляю, почему перехватчики маршрута не работают в компоненте:
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();
});
}
}
Так кто-нибудь может мне помочь с этим?