index.js
1.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import Vue from 'vue';
import Router from 'vue-router';
import paths from './paths';
import NProgress from 'nprogress';
import 'nprogress/nprogress.css';
Vue.use(Router);
const router = new Router({
base: '/',
mode: 'history',
linkActiveClass: 'active',
routes: paths,
scrollBehavior() {
window.scrollTo(0,0);
}
});
// const scrollableElementId = 'content' // You should change this
// const scrollPositions = Object.create(null)
// router.beforeEach((to, from, next) => {
// let element = document.getElementById(scrollableElementId)
// if (element !== null) {
// scrollPositions[from.name] = element.scrollTop
// }
// next()
// })
// window.addEventListener('popstate', () => {
// let currentRouteName = router.history.current.name
// let element = document.getElementById(scrollableElementId)
// if (element !== null && currentRouteName in scrollPositions) {
// setTimeout(() => element.scrollTop = scrollPositions[currentRouteName], 50)
// }
// })
// router gards
router.beforeEach((to, from, next) => {
NProgress.start();
next();
});
router.afterEach((to, from) => {
// ...
NProgress.done();
});
export default router;