Vue beforeRouteEnter 的 next 执行时机

背景

今天在用 vue 实现界面的时候,想在 beforeRouteEnter 钩子函数中去获取数据,然后通过 next 方法设置到跳转页面的实例中,结果发现数据一直没办法在界面渲染的时候赋值,苦思不得其解,遂 google 之,终寻原因,记录之。

注意

1
2
3
4
5
6
7
8
beforeRouteEnter (to, from, next) {
console.log(this); //undefined,不能用this来获取vue实例
console.log('组件路由钩子:beforeRouteEnter');
next(vm => {
console.log(vm); //vm为vue的实例
console.log('组件路由钩子beforeRouteEnter的next');
});
}

next(vm=>{console.log(‘next’) })

这个里面的代码很晚执行,执行时机在组件 mounted 周期之后

查看评论