Redirected when going from “/login“ to “/dashboard“ via a navigation guard.

这是因为vue-router路由版本更新产生的问题,导致路由跳转失败抛出该错误;
真正的原因是由于返回了一个Promise对象, 正常的跳转由then方法执行 当正常的路由跳转, 被"路由导航守卫"拦截并重新指定路由时, 由于 this.$router.push() 返回的是Promise对象, 此时then方法不能正常执行, 无法跳转到指定路由, 就触发了该对象的捕获错误的方法, throw抛出错误, 但并不影响程序功能.

Redirected when going from “/login“ to “/dashboard“ via a navigation guard._第1张图片

解决方案: 在router文件下的index.js中添加下面的代码。 

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);
};

 转载来自: https://blog.csdn.net/qq_36648555/article/details/119910904

你可能感兴趣的:(vue.js,javascript)