背景
今天在用vue实现界面的时候,想在beforeRouteEnter钩子函数中去获取数据,然后通过next方法设置到跳转页面的实例中,结果发现数据一直没办法在界面渲染的时候赋值,苦思不得其解,遂google之,终寻原因,记录之。
注意
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周期之后
拓展知识:对vue中的beforeRouteEnter()和beforeRouteLeave()的函数解释
1、beforeRouteEnter(to, from, next){
要执行的代码操作
next();
}
beforeRouteEnter:进入路由之前执行的函数。
next(); --》 必须有这个,相当于一个按钮开启一样。
2、beforeRouteLeave(to, from, next){
要执行的代码操作
next();
}
beforeRouteLeave:离开路由之前执行的函数。
next(); --》 必须有这个,相当于一个按钮开启一样。