Browse Source

修复动态路由重复添加可能导致的页面卡死BUG

Rysinal 3 years ago
parent
commit
e852ec134f
1 changed files with 15 additions and 4 deletions
  1. 15 4
      src/router/index.js

+ 15 - 4
src/router/index.js

@@ -11,7 +11,18 @@ Router.prototype.push = function push (location, onResolve, onReject) {
 
 Vue.use(Router)
 
-export default new Router({
-  mode: 'history',
-  routes: constantRouterMap
-})
+const createRouter = () =>
+  new Router({
+    mode: 'history',
+    routes: constantRouterMap
+  })
+
+const router = createRouter()
+
+// 定义一个resetRouter 方法,在退出登录后或token过期后 需要重新登录时,调用即可
+export function resetRouter () {
+  const newRouter = createRouter()
+  router.matcher = newRouter.matcher
+}
+
+export default router