解决Vue路由重复点击报错问题

2023-10-30

给一个元素绑定跳转路由的事件时,跳转后当我们重复点击时就会报以下错误:

  原因:vueRouter版本问题

解决方案1:

降低VueRouter的版本  使用旧版本的VueRouter   3.0.xxx

 解决方案2:

跳转路径后,捕获异常,不做处理(这类绑定事件若较多,要写好多次catch)

$router.push('/home/search').catch(err=>{ })

 解决方案3(也是推荐的方法):

const routerPush = VueRouter.prototype.push;

VueRouter.prototype.push = function (location) {

    return routerPush.call(this, location).catch(err => {})

};

注意:在VueRouter上配置路由跳转,在router中的index.js中加上以下代码,注意加在use之前写

 完整示例:

import Vue from "vue";
import VueRouter from "vue-router";
// 主页面 布局页面 其他页面都是依托这个Layout
import Layout from "../views/Layout.vue";

const routerPush = VueRouter.prototype.push;
VueRouter.prototype.push = function (location) {
  return routerPush.call(this, location).catch((err) => {});
};

Vue.use(VueRouter);

const routes = [
  { path: "/", redirect: "/login" },
  { path: "/login", name: "", component: () => import("../views/Login.vue") },
  {
    path: "/home",
    name: "",
    meta: { title: "后台首页" },
    component: Layout,
  },
  {
    path: "/users",
    name: "",
    meta: { title: "用户管理" },
    component: Layout,
    children: [
      { path: "/", redirect: "users" },
      {
        path: "users",
        meta: { title: "用户列表" },
        component: () => import("../views/users/users.vue"),
      },
    ],
  },
  {
    path: "/orders",
    name: "",
    meta: { title: "订单管理" },
    component: Layout,
    children: [
      { path: "/", redirect: "orders" },
      {
        path: "orders",
        meta: { title: "订单列表" },
        component: () => import("../views/orders/orders.vue"),
      },
    ],
  },
  {
    path: "/rights",
    name: "",
    meta: { title: "权限管理" },
    component: Layout,
    children: [
      { path: "/", redirect: "rights" },
      {
        path: "rights",
        meta: { title: "权限列表" },
        component: () => import("../views/rights/rights.vue"),
      },
      {
        path: "roles",
        meta: { title: "角色列表" },
        component: () => import("../views/rights/roles.vue"),
      },
    ],
  },
  {
    path: "/reports",
    name: "",
    meta: { title: "数据统计" },
    component: Layout,
    children: [
      { path: "/", redirect: "reports" },
      {
        path: "reports",
        meta: { title: "数据报表" },
        component: () => import("../views/reports/reports.vue"),
      },
    ],
  },
  {
    path: "/goods",
    name: "",
    meta: { title: "商品管理" },
    component: Layout,
    children: [
      { path: "/", redirect: "goods" },
      {
        path: "goods",
        meta: { title: "商品列表" },
        component: () => import("../views/goods/goods.vue"),
      },
      {
        path: "params",
        meta: { title: "分类参数" },
        component: () => import("../views/goods/params.vue"),
      },
      {
        path: "categories",
        meta: { title: "商品分类" },
        component: () => import("../views/goods/categories.vue"),
      },
    ],
  },
];

const router = new VueRouter({
  routes,
});

export default router;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解决Vue路由重复点击报错问题 的相关文章

随机推荐

  • ViewPage配合FragmentPagerAdapter

    http blog sina com cn s blog 881875e70101m648 html 先说一段题外话 我们在进行android开发的时候发现 activity是与界面相关的 view及其派生类也是与界面相关的 fragmen
  • clickhouse优化使用clickhouse-keeper替代zookeeper

    ClickHouse Keeper 是 ZooKeeper 的替代品 与 ZooKeeper 不同 ClickHouse Keeper 是用 C 编写的 并使用 RAFT 算法实现 该算法允许对读写具有线性化能力 clikhouse kee
  • 关于 char 初始化多个字符问题

    心血来潮试了试 给一个字符赋多个字母回如何 include
  • Swift语法学习--数组

    Swift语法学习 数组 一维数组 多维数组 数组遍历 数组与字符串转换 数组过滤 数组截取 多维数组转一维 一维数组 多维数组 数组遍历 数组与字符串转换 数组过滤 数组截取 多维数组转一维
  • IPv6 MTU issue

    IPv6中间的路由器不会对过通的IPv6报文进行分片 分片只会在源节点进行 中间的防火墙可能会阻止ICMP too big的报文 导致源端无法获知MTU失效 Since modern networks use MTUs of 1500 by
  • Opencv-C++笔记 (10) : opencv-图像像素计算

    文章目录 一 概率 二 寻找图像像素的最大值和最小值 三 计算图像的均值和标准方差 4 两张图片的比较运算 5 两张图片的逻辑运算 一 概率 我们可以将数字图像理解成一定尺寸的矩阵 矩阵中每个元素的大小表示了图像中每个像素的亮暗程度 因此统
  • 笔记本电脑的键盘突然用不了怎么办(┬_┬)?!

    作为一个铁打的程序员 如果突然键盘用不了 那无异于打断了我们的双手 脑海中一大堆的代码想要溢出却无法打出来 简直无法想象 今天晚上由于手贱下载了个VMware的清理软件 不小心把键盘驱动的注册表信息也删除了 然后就各种GG 瞎紧张了半个多小
  • C++基本数据类型

    C 基本数据类型 第一章 C 基本数据类型 文章目录 C 基本数据类型 前言 一 整形 二 实型 浮点型 三 字符和字符串 四 布尔类型 五 附录 转义字符表 六 附录 算数运算符 七 附录 赋值运算符 八 附录 比较运算符 九 附录 逻辑
  • ASO和ASM的关系与区别

    很多刚入行的从业者 都被ASO ASM这两个行业专属词搞混了 特别是ASM 接下来就由冠智ASO带你了解一下这两者的区别 一 ASO ASM的定义 ASO App Store Optimization 即应用商城优化 由美国传入中国的App
  • 宏碁使用UltraISO制作启动盘,装win10系统

    目录 前言 事先准备 第一步 制作启动盘 第二步 U盘装系统 第三步 安装必要的驱动 前言 今天想用软碟通来制作一个启动盘 安装win10系统 特此记录一下 事先准备 宏碁暗影骑士pro 32G U盘 Windows 10 LTSC 201
  • 由于系统限制了文件目录的读/写权限,程序将会退出,你可以重新安装百度网盘到有权限的目录或以管理员身份运行百度网盘。

    由于系统限制了文件目录的读 写权限 程序将会退出 你可以重新安装百度网盘到有权限的目录或以管理员身份运行百度网盘
  • Firefox,火狐about:config设置详解

    1 accessibility accesskeycausesactivation accesskey 允许用户通过Alt accesskey的方法来打开页面中的超链接 其中的accesskey需要网页编写者预先定义好 并且不能与浏览器的快
  • 井下设备类毕业论文文献包含哪些?

    本文是为大家整理的井下设备主题相关的10篇毕业论文文献 包括5篇期刊论文和5篇学位论文 为井下设备选题相关人员撰写毕业论文提供参考 1 期刊论文 变频器在井下设备中的应用 期刊 内蒙古煤炭经济 2019 年第 020 期 关键词 变频器 节
  • uni-app 的坑

    最近在开发一个新项目 使用的vue3 之前用的都是vue2 这不用不知道 一用吓一跳 看代码 data return searchText data 存储数据库的数据 methods async getData const db uniCl
  • git 上传任务用户显示错误修改方法

    目 录 0 问题描述 1 原因 2 步骤 3 总结 0 问题描述 使用git时候登陆自己的账号但每次提交任务显示的是其他人的信息 1 原因 git配置信息中用户名及用户邮箱显示是其他人 可以通过git config l进行查看 git co
  • ADW300物联网电表支持MODBUSTCP协议、MQTT协议-安科瑞黄安南

    摘要 随着通信技术的应用越来越广泛 具有通信功能的电子产品越来越多 同时也随着Wi Fi无线覆盖网络区域的形成 如何利用无线网络覆盖广 带宽高 低使用费率的优势组建物联网系统 变成了一个很实际的问题 安科瑞也紧跟趋势推出了满足客户需求的支持
  • git客户端安装并配置GitLab配置ssh key

    一 安装git客户端 打开Git的安装程序 点击Next之后 安装路径我保持默认选项 然后继续下一步 继续下一步 提示你创建开始菜单 我们继续下一步 上图默认的是第二项 但是我改成了第一项 不想在CMD下使用Git命令 继续下一步 继续下一
  • 【华为OD机试真题2023B卷 JAVA&JS】食堂供餐

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 食堂供餐 知识点编程基础循环 时间限制 1s 空间限制 32MB 限定语言 不限 题目描述 某公司员工食堂以盒饭方式供餐 为将员工取餐排队时间降低为0 食堂的供餐速度必须要足够快 现在
  • 源码分析之——WMS启动流程

    1 源码分析之 AMS启动流程 2 源码分析之 WMS启动流程 3 源码分析之 SharedPreferences 4 源码分析之 Retrofit 5 源码分析之 OKHttp 6 源码分析之 Android事件分发机制 前言 上一节讲了
  • 解决Vue路由重复点击报错问题

    给一个元素绑定跳转路由的事件时 跳转后当我们重复点击时就会报以下错误 原因 vueRouter版本问题 解决方案1 降低VueRouter的版本 使用旧版本的VueRouter 3 0 xxx 解决方案2 跳转路径后 捕获异常 不做处理 这