vuejs菜单重复点击路由报错原因分析(解决方法)

vuejs菜单重复点击路由报错原因是因为在this.$router.push的时候没有添加成功或失败的回调。

方法一:在路由router文件中新增以下判断

const router = new VueRouter({
    routes: []
})

// 解决重复点击报错bug
const VueRouterPush = VueRouter.prototype.push;
VueRouter.prototype.push = function push (to) {
    return VueRouterPush.call(this, to).catch(err => err);
}
export default router;

方法二:路由跳转时先判断路由是否重复跳转

handleClickMenu(menu) {
  if(this.$route.path !== menu.url){
    this.$router.push({path: menu.url});
  }
}

方法三:利用catch方法捕获router.push异常

handleClickMenu(menu) {
  if(this.$route.path !== menu.url){
    this.$router.push({path: menu.url});
  }
}
以上是编程学习网小编为您介绍的“vuejs菜单重复点击路由报错原因分析(解决方法)”的全面内容,想了解更多关于 vuejs 内容,请继续关注编程基础学习网。

本文标题为:vuejs菜单重复点击路由报错原因分析(解决方法)

基础教程推荐