路由钩子函数beforeRouteEnter中有没有this ?

答案:

进入当前路由之前的钩子函数 beforeRouteEnter(to,from,next){}中:没有this!没有this!没有this!

因为当钩子执行前,组件实例还没被创建

 

那么:

该如何处理这个问题呢?(如果此时需要访问this,并执行一些逻辑操作呢?)

 

我们可以通过next回调,通过vm访问组件实例:

beforeRouteEnter(to, from, next) {
        next(vm => {
             console.log('vm', vm)
        })
}

 

ps:其他的钩子函数,比如beforeRouteLeave() 和 beforeRouteUpdate()中都是可以正常访问this的

posted @ 2021-06-10 16:09  飞翔的蜗牛~  阅读(438)  评论(0编辑  收藏  举报
Live2D