分享我最近做的一个后台项目,里面的侧边栏用动态路由生成的,但是会遇到路由重复添加这样的问题,想要解决这个问题的话其实很简单,就是再添加动态路由之前先清空路由,话不多说上代码。

let createRouter  = () => new Router({
  mode: 'history', //hash history后端支持可开,需配置nginx, 次模式下不会再返回404界面
  routes: constantRouterMap, // 路由路径
  scrollBehavior: () => ({ y: 0 }) // 在切换时定位路由滚动条的位置
});

const router = createRouter()

export function resetRouter () { //清空路由的方法
  const newRouter = createRouter()
  router.matcher = newRouter.matcher 
}
export default router;

在需要清空的路由的地方执行以下代码就可以了。

import {resetRouter} from './router';
resetRouter() //执行方法

这是我在网上看到的回答,然后才解决了Vue路由重复添加的问题,网上流传了很多清空路由记录的方法,都不彻底,甚至绝大部分都无法实现清空的功能!这个回答是唯一能解决我的问题的回答。

Logo

前往低代码交流专区

更多推荐