1.出现的问题

当我们在多次点击this.$route.push()方法以后会出现一下报错:

 

出现上述的问题是vue-router:“^3.5.3"最新出的vue-router引入了promise(当我们点击了router.push()以后返回的 是一个promise对象。

2.解决的方案:

1.通过给push方法传递相应的成功,失败、的回调,可以通过捕获到当前的错误,可以解决(但不是最根本的方法),将来在别的组件中push|replace.编程式导航还是有类似的错误。

2.重写router.push()方法,如果我们想从根本上去解决这个方法我们只能重写vuerouter身上的push方法(注意:this的指向的问题)。

在router下面的index.js中重写push()方法:

Logo

前往低代码交流专区

更多推荐