【发布时间】:2019-11-16 00:14:21
【问题描述】:
这让我困惑了一段时间。我已经搜索了很多,但仍然不知道为什么路由挂钩在组件中不起作用:
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();
});
}
}
那么有人可以帮我解决这个问题吗?
【问题讨论】:
标签: javascript typescript vue.js vue-component vue-router