在路由定义的地方,增加如下代码,如下只有push方法的重写,同理,replace方法也一样。
const originPush = VueRouter.prototype.push;
VueRouter.prototype.push = function(location,resolve,reject){if(resolve && reject){originPush.call(this,location,resolve,reject);} else {originPush.call(this,location,()=>{},()=>{});}
}
注:this.$router.push|replace方法返回的是promise对象。声明式路由导航没有这样的问题,只有编程式路由导航有这样的问题。