猿问

关于vue-router跳转后history.state的疑问

已知history.pushState是个同步事件
vue-router也是基于这个方法包装的
vue-router中还有个发生在跳转之后的生命周期afterEach
我将在这里面试图查询history.state
发现它会提供一个这样的对象{key: /d+.d{2}/},虽然没找到文档,验证后发现key的内容应该是主组件启动后每次跳转时的时间
问题在这里,afterEach的调用时机发生在跳转之后,也就是history.pushState调用后
这时候history.state应该是已经更新而且不变的了
但是我在这个勾子里同步打印history.state,或者设置个异步去打印history.state
他们的值是不一样的,这是什么原因

这是代码

https://img.mukewang.com/5c934c1c000148d101320194.jpg

这是触发router.push时发生的跳转.同步异步都是不一致的
https://img1.mukewang.com/5c934c1e00016e2901500187.jpg

这是使用浏览器自带的前进/后退时打印的值,同步异步一致


喵喵时光机
浏览 352回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答