已知history.pushState是個(gè)同步事件vue-router也是基于這個(gè)方法包裝的vue-router中還有個(gè)發(fā)生在跳轉(zhuǎn)之后的生命周期afterEach我將在這里面試圖查詢history.state發(fā)現(xiàn)它會(huì)提供一個(gè)這樣的對(duì)象{key: /d+.d{2}/},雖然沒(méi)找到文檔,驗(yàn)證后發(fā)現(xiàn)key的內(nèi)容應(yīng)該是主組件啟動(dòng)后每次跳轉(zhuǎn)時(shí)的時(shí)間問(wèn)題在這里,afterEach的調(diào)用時(shí)機(jī)發(fā)生在跳轉(zhuǎn)之后,也就是history.pushState調(diào)用后這時(shí)候history.state應(yīng)該是已經(jīng)更新而且不變的了但是我在這個(gè)勾子里同步打印history.state,或者設(shè)置個(gè)異步去打印history.state他們的值是不一樣的,這是什么原因這是代碼這是觸發(fā)router.push時(shí)發(fā)生的跳轉(zhuǎn).同步異步都是不一致的這是使用瀏覽器自帶的前進(jìn)/后退時(shí)打印的值,同步異步一致
關(guān)于vue-router跳轉(zhuǎn)后history.state的疑問(wèn)
喵喵時(shí)光機(jī)
2019-03-18 13:18:44