【VUE】vue路由跳轉Uncaught (in promise) undefined 需要點兩次才能跳轉成功

vue項目使用路由跳轉,點擊第一次時報下圖的錯誤,點擊第二次時才能正常跳轉

網上查閱很多資料有解決辦法如下圖

1、版本升級問題,可降級操作 npm i [email protected] -S

      不過這個方法我沒有嘗試,不知道有沒有效果,而且大家也要慎重操作因爲。。。

2、在調用push的時候,設置回調函數

this.$router.push({ path: 'Home' }, onComplete => { }, onAbort => { })

3、數據存儲順序問題,如下圖

不過這些方法,都沒有解決我的問題

以下是我的解決方案:

//我的跳轉寫法使用的是path跳轉
//出現第一次報錯 Uncaught (in promise) undefined
//第二次正常跳轉情況
this.$router.push({ path:'Home',router:{ type:1 } })


//修改爲name跳轉,跳轉正常
this.$router.push({ name:'Home',params:{ type:1 } })

衆所周知,router有兩種跳轉方式,一種是通過name跳轉,另一種是通過path跳轉

query是針對path的,params是針對name的

至於爲什麼會產生這樣的情況,目前我還在梳理,有興趣的可以參考這篇文章

https://www.cnblogs.com/ccplus/p/8535987.html

如果有幸能解決你的問題,那我真是三生有幸,四通八達,五福臨門,六六大順了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章