在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ 關(guān)于vue-router跳轉(zhuǎn)后history.state的疑問

關(guān)于vue-router跳轉(zhuǎn)后history.state的疑問

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

圖片描述
這是代碼

圖片描述
這是觸發(fā)router.push時發(fā)生的跳轉(zhuǎn).同步異步都是不一致的
圖片描述
這是使用瀏覽器自帶的前進(jìn)/后退時打印的值,同步異步一致

回答
編輯回答
憶當(dāng)年

https://github.com/vuejs/vue-...
clipboard.png

clipboard.png
仔細(xì)看這個文件的這兩個位置。你可能就會知道為什么第一次會不一樣。因?yàn)閳?zhí)行順序。并不是afterEach是地址變化之后。

2018年7月3日 06:44