在新版本的vue-router中,重复点击同一个路由会出现以下报错 :
这个问题时vue-router 3.2.0版本的一个小Bug
有三种解决办法:
第一种:
vue-router降级处理(不推荐)
npm i vue-router@3.0.7
第二种:
直接在push方法最后添加异常捕获 (捕捉错误提示但不显示)
@click="$router.push('/home/searchPopup').catch(err=>{})"
第三种:
直接修改原型方法push(推荐)
// 把这段代码直接粘贴到router/index.js中的Vue.use(VueRouter)之前
const originalPush = VueRouter.prototype.push;
VueRouter.prototype.push = function(location) {
return originalPush.call(this, location).catch(err => {})
};