beforeRouteEnter的执行时机以及其参数next的内部参数vm=>{}的执行实际

发布时间 2023-10-08 15:42:15作者: Math点PI

beforeRouteEnter:(to, from, next)=>{
console.log(1)
next(vm=>{
console.log(2)
})
}

这里是先打印1,后打印2
1的时机是:to页面进入前,to页面的create都没执行
2的时机是:to页面已经进入了,并且to页面的beforeMount执行后,mounted函数执行前,才去执行vm=>{},并打印2
to.beforeCreate => to.created => to.beforeMount => vm=>{} => to.mounted

搞清楚这个,你就可以在beforeRouteEnter中分清时机做操作;

搞这个的原因主要是el-pagination的currentPage一直不渲染,我把currentPage赋值写在vm中,时机不正确,所以一直不生效。