vueRouter重置路由

1.v3

javascript 复制代码
import VueRouter from 'vue-router'

// 假设 constantRoutes 是你的基础静态路由
import { constantRoutes } from './routes'

export function resetRouter() {
  const freshRouter = new VueRouter({ mode: 'history', routes: constantRoutes })
  router.matcher = freshRouter.matcher // 替换 matcher,达到重置目的
}

2.v4

javascript 复制代码
import { createRouter, createWebHistory } from 'vue-router'
const resetRouter = () => {
  const newRouter = createRouter({ history: createWebHistory(), routes: [...] })
  router.matcher = newRouter.matcher
}

v4 提供了单条路由的删减api

javascript 复制代码
import { createRouter, createWebHistory } from 'vue-router'
import router from './router'
import constantRoutes from './constantRoutes'

export const resetRouter = () => {
  router.getRoutes().forEach(r => router.removeRoute(r.name))

  // 视需要补齐静态基础路由
  constantRoutes.forEach(r => {
    if (!router.hasRoute(r.name)) router.addRoute(r)
  })
}
相关推荐
子兮曰1 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰1 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万1 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝1 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
A黄俊辉A1 天前
uniapp webview中实现 app和内嵌的H5双向通信
vue.js·json
三十而立洋1 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁1 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
李少兄1 天前
JavaScript 隐式全局变量解析
javascript
honkun61 天前
vue 表格组件 vxe-table 配置 ajax 请求自动加载数据与表单查询
vue.js·vxe-table
kybs19911 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net