【VUE】vue路由跳转Uncaught (in promise) undefined 需要点两次才能跳转成功
vue项目使用路由跳转,点击第一次时报下图的错误,点击第二次时才能正常跳转网上查阅很多资料有解决办法如下图1、版本升级问题,可降级操作 npm i vue-router@3.0 -S不过这个方法我没有尝试,不知道有没有效果,而且大家也要慎重操作因为。。。2、在调用push的时候,设置回调函数this.$router.push({ path: 'Home' }...
·
vue项目使用路由跳转,点击第一次时报下图的错误,点击第二次时才能正常跳转
网上查阅很多资料有解决办法如下图
1、版本升级问题,可降级操作 npm i vue-router@3.0 -S
不过这个方法我没有尝试,不知道有没有效果,而且大家也要慎重操作因为。。。
2、在调用push的时候,设置回调函数
this.$router.push({ path: 'Home' }, onComplete => { }, onAbort => { })
3、数据存储顺序问题,如下图
不过这些方法,都没有解决我的问题
以下是我的解决方案:
//我的跳转写法使用的是path跳转
//出现第一次报错 Uncaught (in promise) undefined
//第二次正常跳转情况
this.$router.push({ path:'Home',query:{ 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
如果有幸能解决你的问题,那我真是三生有幸,四通八达,五福临门,六六大顺了。
更多推荐
已为社区贡献7条内容
所有评论(0)