vue-router $route.push相同路径跳转报错——重写vue-router的push方法

邮差的信 提交于 2020-03-11 19:26:27

在router/index.js中添加如下代码:

import Vue from 'vue'
import Router from 'vue-router'
 
 
/**
 * 重写路由的push方法
 * 解决,相同路由跳转时,报错
 */
const originalPush = Router.prototype.push;
Router.prototype.push = function push(location, onResolve, onReject) {
  if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject);
  return originalPush.call(this, location).catch((err) => err);
};
 
 
Vue.use(Router)
 
export default new Router({
  routes: [
    {
      path: '/',
      ...
    }
  ]
})

把错误捕获一下呗

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!