Vue router/Element重复点击导航路由报错问题及解决

目录
  • Vue router/Element重复点击导航路由报错
    • 解决方法如下
  • Vue使用element-UI路由报错问题
    • 报错代码
    • 修改方案

Vue router/Element重复点击导航路由报错

虽然此报错并不会影响项目运行,但是作为一个强迫症的码农的确受不了error

解决方法如下

方法1:在项目目录下运行 npm i vue-router@3.0 -S 将vue-router改为3.0版本即可;

方法2:若不想更换版本解决方法

在router.js中加入以下代码就可以

记住插入的位置

const originalPush = Router.prototype.push
Router.prototype.push = function push(location) {
  return originalPush.call(this, location).catch(err => err)
}
// 如果你的改了push还是没有生效,可以考虑改replace方法
// 修改路由replace方法,阻止重复点击报错
const originalReplace = VueRouter.prototype.replace;
VueRouter.prototype.replace = function replace(location) {
  return originalReplace.call(this, location).catch(err => err);
};

Vue使用element-UI路由报错问题

Invalid prop: type check failed for prop "router". Expected Boolean, got String.

prop校验路由时,要求router是一个boolean类型,但是得到的是一个string类型

官网上router参数是boolean类型

官网地址: Element - The world's most popular Vue UI framework

报错代码

<el-menu
          router="true"
          default-active="2"
          class="el-menu-vertical-demo"
          text-color="#5F5F60"
          :collapse="isCollapse"
        >
  <el-menu-item index="/library/slider">
            <i class="el-icon-menu"></i>
            <span slot="title">首页</span>
  </el-menu-item>
</el-menu>

修改方案

1、直接写router 不要后面的true

<el-menu
          router
          default-active="2"
          class="el-menu-vertical-demo"
          text-color="#5F5F60"
          :collapse="isCollapse"
        >
  <el-menu-item index="/library/slider">
            <i class="el-icon-menu"></i>
            <span slot="title">首页</span>
  </el-menu-item>
</el-menu>

2、通过数据绑定

<el-menu
          :router="router"
          default-active="2"
          class="el-menu-vertical-demo"
          text-color="#5F5F60"
          :collapse="isCollapse"
        >
  <el-menu-item index="/library/slider">
            <i class="el-icon-menu"></i>
            <span slot="title">首页</span>
  </el-menu-item>
</el-menu>
data(){
    return {
       router:true
 }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 解决vue-router路由拦截造成死循环问题

    笔记:vue-router路由拦截造成死循环,在做路由拦截的时候,一直出现死循环. router的index.js文件路由配置 const router = new Router({ routes: [{path: '/login',name: 'login',component: Login,meta: {isShow: true}}, {path: '/',component: Layout,redirect: '/home',meta: {title: "首页菜单"}, chil

  • Vue-router不允许导航到当前位置(/path)错误原因以及修复方式

    目录 报错提示 错误原因 错误演示 解决方法 方法一 方法二 方法三 报错提示 Navigating to current location ("/path") is not allowed 错误原因 控制台出现以上这种 Navigating to current location ("/path") is not allowed 时,是因为重复进入了相同路由. 错误演示 为了演示报错,用vue-cli重新构建了一个新的项目,只编写了一个按钮一个input. cod

  • Vue-router 报错NavigationDuplicated的解决方法

    版本:3.1.x 报错原因: 使用push().replace()进行导航时,不能重复导航到当前路由. 解决办法: 方法1:在定义路由的文件中router/index.js const originalPush = VueRouter.prototype.push VueRouter.prototype.push = function push (location) { return originalPush.call(this, location).catch(err => err) } co

  • Vue router/Element重复点击导航路由报错问题及解决

    目录 Vue router/Element重复点击导航路由报错 解决方法如下 Vue使用element-UI路由报错问题 报错代码 修改方案 Vue router/Element重复点击导航路由报错 虽然此报错并不会影响项目运行,但是作为一个强迫症的码农的确受不了error 解决方法如下 方法1:在项目目录下运行 npm i vue-router@3.0 -S 将vue-router改为3.0版本即可: 方法2:若不想更换版本解决方法 在router.js中加入以下代码就可以 记住插入的位置 c

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

    目录 vue路由重复点击时会出现报错 局部处理 全局处理 vue 重复点击菜单,路由重复报错解决 报错原因 解决方法 总结 vue路由重复点击时会出现报错 Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location:XXX 虽然不影响运行结果,但最好还是处理一下. 局部处理 局部处理是指对单个路由进行处理,其他的路由依旧报错. 在路由跳转的push语句中添加catch捕捉

  • Vue+Router+Element实现简易导航栏

    本项目为大家分享了Vue+Router+Element实现简易导航栏的具体代码,供大家参考,具体内容如下 项目结构: 直接上代码:主要就是引入配置路由Router ①:引入Router(路由管理器) //config.js 页面 //导航栏 import Home from '../components/home' //首页 import Index from '../components/index' //视频平台 import Vid from '../components/vid_terr

  • element ui时间日期选择器el-date-picker报错Prop being mutated:"placement"解决方式

    目录 发现错误 解决 补充:el-date-picker 初始化报错 总结 发现错误 这两天在写新项目的时候,遇到了element ui 时间日期选择器一直报错 [Vue warn]: Avoid mutating a prop directly since the value will beoverwritten whenever the parent component re-renders.Instead, use a data or computed property based on

  • 解决在vue项目中,发版之后,背景图片报错,路径不对的问题

    解决方法: 在utils.js里边的 加上publicPath:'../../', 在引入图片或者背景图的时候,使用方法: 以上这篇解决在vue项目中,发版之后,背景图片报错,路径不对的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: 关于Vue背景图打包之后访问路径错误问题的解决 vue-cli中打包图片路径错误的解决方法 关于vue.js发布后路径引用的问题解决 vue cli使用绝对路径引用图片问题的解决 详解vue-cil和webp

  • vue 中使用 watch 出现了如下的报错的原因分析

    报错: Method "watch" has type "object" in the component definition. Did you reference the function Method "watch" has type "object" in the component definition. Did you reference the function correctly? 原因: watch 是一个对

  • 解决Vue 给mapState中定义的属性赋值报错的问题

    1. 实践环境 Vue 2.9.6 2. 问题描述 <script> import { mapState } from 'vuex'; export default { name: "displayCount", computed: { ...mapState({ ...略 count: state => state.a.count }) }, methods: { increaseCount () { this.count = this.count + 1 } }

  • 使用Element的InfiniteScroll 无限滚动组件报错的解决

    一.问题描述 在使用Element的InfiniteScroll 无限滚动时候出现以下错误: TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node' InfiniteScroll的更多用法element官网 二.解决办法 给需要使用 InfiniteScroll 的元素或者它的父级元素加上 overflow:auto; 属性即可. <template> <

  • 解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题

    这里面我们需要注意一个问题,就是 template (将要渲染的HTML)必须是包含在一个标签里面的,这个和react 比较像,是个小坑,所以他没有报错: 最外层加个标签包起来就行 补充知识:vue自定义组件无法渲染的可能原因 1.组件最外层需要Vue实例包裹 2.组件名不支持驼峰命名,建议采用-分隔 如:myTabButton 改为 my-tab-button 以上这篇解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大

  • 解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题

    如下所示: 解决办法: 删掉项目中node_modules文件夹 ; 然后再 重新下载一下 cnpm install 补充知识:vue在npm run dev时报错Error: Cannot find module 'xxx' 今天在做项目时出现了下面这个错误,找了很多博客,都说改一下代码写法就行了.不过视情况而定,有点时候有些代码改起来很麻烦,千丝万缕的关系,不是说改一下代码就行了的. 然后就试了很多方法,最后发现是node版本的原因,当时用的是node的最新版本@14.6.0,个人认为是新版

随机推荐