vue-element-admin 中動態清除註冊的路由
阿新 • • 發佈:2020-10-15
constcreateRouter=()=>newRouter({
//mode:'history',//requireservicesupport
scrollBehavior:()=>({y:0}),
routes:constantRoutes
})
constrouter=createRouter()
//Detailsee:https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
exportfunctionresetRouter(){
constnewRouter=createRouter()
router.matcher=newRouter.matcher//resetrouter
}
exportdefaultrouter
它的原理其實很簡單,所有的 vue-router 註冊的路由資訊都是存放在 ,將它的
matcher
之中的,所以當我們想清空路由的時候,我們只要新建一個空的Router例項
matcher
重新賦值給我們之前定義的路由就可以了。巧妙的實現了動態路由的清除。 現在我們只需要呼叫resetRouter
,就能得到一個空的路有例項,之後你就可以重新addRoutes
你想要的路由了。