vue-element-admin 中動態清除注冊的路由


const createRouter = () => new Router({
  // mode: 'history', // require service support
  scrollBehavior: () => ({ y: 0 }),
  routes: constantRoutes
})

 

const router = createRouter()

 

// Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
export function resetRouter () {
  const newRouter = createRouter()
  router.matcher = newRouter.matcher // reset router
}

 

export default router
 
它的原理其實很簡單,所有的 vue-router 注冊的路由信息都是存放在 matcher之中的,所以當我們想清空路由的時候,我們只要新建一個空的 Router實例,將它的 matcher重新賦值給我們之前定義的路由就可以了。巧妙的實現了動態路由的清除。 現在我們只需要調用 resetRouter,就能得到一個空的路有實例,之后你就可以重新 addRoutes你想要的路由了。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM