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

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路由重复添加的问题,网上流传了很多清空路由记录的方法,都不彻底,甚至绝大部分都无法实现清空的功能!这个回答是唯一能解决我的问题的回答。

GitHub 加速计划 / vu / vue
100
18
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:23 天前 )
9e887079 [skip ci] 11 个月前
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 1 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐