vue-router 报错:Navigation cancelled from“/…“ to “/…“ with a new navigation.

vue-router 报错:Navigation cancelled from“/…“ to “/…“ with a new navigation.vue-router@3.0版本及以上回调形式已经改成promiseapi的形式了,返回的是一个promise,如果路由地址跳转相同,且没有捕获到错误,控制台始终会出现如图所示的警告(注:3.0以下版本则不会出现以下警告!!!,因路由回调问题…)*怎么解决呢?方案一:安装vue-router3.0以下版本:先卸载3.0以上版本然后再安装旧版本npminstallvue-router@2.8.0-S方案二:针对于路由跳转相同的地址添加catch捕获一下异常:this.$router.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

在这里插入图片描述
vue-router@3.0版本及以上回调形式已经改成promise api的形式了,返回的是一个promise,如果路由地址跳转相同, 且没有捕获到错误,控制台始终会出现如图所示的警告 (注:3.0以下版本则不会出现以下警告!!!,因路由回调问题…)
*

怎么解决呢?

方案一:
安装vue-router3.0以下版本:先卸载3.0以上版本然后再安装旧版本 npm install vue-router@2.8.0 -S

方案二:
针对于路由跳转相同的地址添加catch捕获一下异常:this.$router.push(’/location’).catch(err => { console.log(err) })

方案三:
在main.js下注册一个全局函数即可 (注:此处理方案只针对于vue-router 3.0以上版本哈!!!)

import Router from 'vue-router'

const originalPush = Router.prototype.push
Router.prototype.push = function push(location) { 
   
  return originalPush.call(this, location).catch(err => err)
}

注:官方vue-router@3.0及以上新版本路由默认回调返回的都是promise,原先就版本的路由回调将废弃!!!!


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158903.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • navicat premium 15 激活码[免费获取]

    (navicat premium 15 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~M…

    2022年3月20日
    127
  • php读取pdf文件_php怎么转换成pdf

    php读取pdf文件_php怎么转换成pdffunctioncreatePdfFile($frontData){/*新建一个pdf文件:Orientation:orientation属性用来设置文档打印格式是“Portrait”还是“Landscape”。Landscape为横式打印,Portrait为纵向打印Unit:设置页面的单位。pt:点为单位,mm:毫米为单位…

    2025年10月6日
    4
  • mac系统安装win10双系统「建议收藏」

    mac系统安装win10双系统「建议收藏」一个月前,为了在家里学习单片机,在macbookair系统基础上,安装了win10,搞了一个双系统。在安装之前,看了很多资料,基本上提到两点,一个是准备win10镜像,一个是准备win10安装启动程序,而且至少需要一个U盘,有的也说需要两个,一个用来装win10镜像,一个用来装win10启动程序。最后动手安装的时候,一个U盘也没有使用,直接把win10镜像下载到mac系统中,然后启动mac上的磁盘管理工具,按照提示,傻瓜式的进行下一步。有两个地方需要我们手动设…

    2022年9月27日
    4
  • origin怎么做多组柱状图_origin怎么对比两组数据

    origin怎么做多组柱状图_origin怎么对比两组数据1.数据点的横坐标不是等间距时的曲线绘制用实验数据作图时,会遇到数据点的横坐标不是等间距的情况,比如:X:1,3,4,8,9,12,…Y:10.2,10.5,11.4,11.8,10.9,10.2,…如果只有一组实验数据,则按照普通的方法在Worksheet中分别输入X,Y的值,然后用“线+符号”的方式绘图即可。但是,当有多组此种情况的数据需要绘制在一个图中时,例如:X1:1,3,4,8…

    2022年9月30日
    2
  • 人脸识别系统如何建模_3dmax人脸建模

    人脸识别系统如何建模_3dmax人脸建模本发明涉及生物特征识别,特别是涉及人脸识别中的特征建模方法。背景技术:人脸识别技术一般包括四个组成部分,分别为人脸图像采集、人脸图像预处理、人脸图像特征提取以及匹配与识别,具体来说:人脸图像采集及检测是指通过摄像镜头等视频图像采集装置采集包括有人脸的视频或图像数据,可以是采集对象的静态图像、动态图像、不同的位置、不同表情等。人脸图像预处理是指从采集的图像数据中确定人脸的部分,并进行灰度校正、噪声过…

    2025年12月10日
    2
  • linux查看光纤卡光衰_光衰大如何解决

    linux查看光纤卡光衰_光衰大如何解决ethtool-g网卡名称,显示网卡的接收/发送环形参数。lldptool-t-n-i网卡名称收光:ethtool-meth0|grep”Receiversignal”|head-1|awk-F’/”{print$2}’发光:ethtool-meth0|grep”Laseroutputpower”|head-1|awk-F’/”{print$2}’…

    2022年8月31日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号