说一个很奇怪的问题,就是大家应该都会碰到的vue-router@3.0.x 以上的版本的重复点击路由的报错。
// 解决ElementUI导航栏中的vue-router在3.0版本以上重复点菜单报错问题
const originalPush = VueRouter.prototype.push
VueRouter.prototype.push = function push (location) {
return originalPush.call(this, location).catch(err => err)
}
在本地测试环境下加了这串代码确实不会报错了,但是呢,当我项目打包后在生产环境下运行就又报了如下的问题
Uncaught (in promise) TypeError: Cannot read property 'catch' of undefined
用脚指头想都知道这是和我之前添加的 防止重复点击的代码有关
玄乎的地方来了,我尝试性的将上面三行代码注释掉,重新打包测试,就不报错了。。。wtf