今天写项目的时候,需要用到vue的路由钩子函数beforeRouteEnter、beforeRouteLeave、beforeRouteUpdate,由于项目是用vue-cli3.0搭建的,typescript开发的。
写完之后发现无论怎么刷新钩子函数就是不触发,后来找了资料才发现
没有注册,然后就在入口文件main.ts中注册了
import { Component } from 'vue-property-decorator';
Component.registerHooks([
'beforeRouteEnter',//进入路由之前
'beforeRouteLeave',//离开路由之前
'beforeRouteUpdate',
])
然后发现偶尔能够触发钩子函数
还是不行。。。。。
然后又发现钩子函数是在vue实例创建之前触发的所以在钩子函数中没有this。
触发钩子函数的zuji必须是通过路由跳转的。
最后终于解决了---因为我那个组件没有懒加载,所以才会出现偶尔触发钩子函数,











网友评论