vue路由的版本更新导致重复点击相同路由会报错,在路由文件中重写一下路由的跳转方法
// 保存原有的路由跳转方法,如果不是相同路径的话就调用原有路由的跳转方法
let originPush = VueRouter.prototype.push;
// 重写路由跳转方法,第一个参数location是要跳转的路由 resolve和reject传递成功与失败
VueRouter.prototype.push = function (location, resolve, reject) {
if (resolve && reject) {
//如果成功 调用原来的push方法
originPush.call(this, location, resolve, reject);
} else {
originPush.call(this, location, () => { }, () => { });
}
}
这样就解决了路由重复点击报错的问题!
补充: 主路由没有component属性子路由不显示
在开发的时候,有些时候只需要主路由显示但不用跳转,让他能够显示出子路由,点击子路由时再跳转,这个时候就不需要用到component属性,但是主路由没有component作为依赖,子路由是不会显示的。
将主路由的component属性设置为 { render: (e) => e("router-view") }