import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
const createRouter = () => new Router({
mode: 'history',
routes: []
})
const router = createRouter()
export function resetRouter () {
// reset路由表
const newRouter = createRouter()
router.matcher = newRouter.matcher // the relevant part
}
export default router
import router from './router';
// 当希望再次初始化路由表的时候,执行如下代码;
resetRouter (); //完成路由表初始化
router.addRoutes([]); // 继续添加路由
原理就是生成一个新的路由对象,将现有的路由对象中的matcher替换掉,初始化之后就可以继续使用addRoutes添加路由对象了