|
@@ -5,23 +5,31 @@ import ViewsRouter from './views/'
|
|
|
import AvueRouter from './avue-router'
|
|
|
import Store from '../store/'
|
|
|
Vue.use(VueRouter)
|
|
|
-const Router = new VueRouter({
|
|
|
- scrollBehavior(to, from, savedPosition) {
|
|
|
- if (savedPosition) {
|
|
|
- return savedPosition
|
|
|
- } else {
|
|
|
- if (from.meta.keepAlive) {
|
|
|
- from.meta.savedPosition = document.body.scrollTop
|
|
|
+//创建路由
|
|
|
+const createRouter = () => {
|
|
|
+ return new VueRouter({
|
|
|
+ scrollBehavior (to, from, savedPosition) {
|
|
|
+ if (savedPosition) {
|
|
|
+ return savedPosition
|
|
|
+ } else {
|
|
|
+ if (from.meta.keepAlive) {
|
|
|
+ from.meta.savedPosition = document.body.scrollTop
|
|
|
+ }
|
|
|
+ return {
|
|
|
+ x: 0,
|
|
|
+ y: to.meta.savedPosition || 0
|
|
|
+ }
|
|
|
}
|
|
|
- return {
|
|
|
- x: 0,
|
|
|
- y: to.meta.savedPosition || 0
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- routes: [].concat([])
|
|
|
-})
|
|
|
+ },
|
|
|
+ routes: [...PageRouter, ...ViewsRouter]
|
|
|
+ })
|
|
|
+}
|
|
|
+const Router = createRouter()
|
|
|
AvueRouter.install(Router, Store)
|
|
|
Router.$avueRouter.formatRoutes(Store.state.user.menu, true)
|
|
|
-Router.addRoutes([...PageRouter, ...ViewsRouter])
|
|
|
+// 重置路由
|
|
|
+export function resetRouter () {
|
|
|
+ const newRouter = createRouter()
|
|
|
+ Router.matcher = newRouter.matcher // reset router
|
|
|
+}
|
|
|
export default Router
|