From 5b987ba607d899e08b11c0867ebf267cd403b6a3 Mon Sep 17 00:00:00 2001 From: Andreas Zweili Date: Tue, 4 May 2021 16:41:24 +0200 Subject: [PATCH] move the router into its own file --- .../src/main.js | 47 +---------------- .../src/router.js | 50 +++++++++++++++++++ 2 files changed, 51 insertions(+), 46 deletions(-) create mode 100644 2021-03-27_routing-01-starting-setup/src/router.js diff --git a/2021-03-27_routing-01-starting-setup/src/main.js b/2021-03-27_routing-01-starting-setup/src/main.js index e3da6d0..1bc946f 100644 --- a/2021-03-27_routing-01-starting-setup/src/main.js +++ b/2021-03-27_routing-01-starting-setup/src/main.js @@ -1,53 +1,8 @@ import { createApp } from 'vue'; -import { createRouter, createWebHistory } from 'vue-router'; import App from './App.vue'; -import TeamsList from './components/teams/TeamsList'; -import TeamMembers from './components/teams/TeamMembers'; -import UsersList from './components/users/UsersList'; +import router from './router.js'; -const router = createRouter({ - history: createWebHistory(), - routes: [ - { path: '/', component: TeamsList }, - { - name: 'teams', - path: '/teams', - meta: { - needsAuth: true - }, - component: TeamsList, - children: [ - { - name: 'team-members', - path: ':teamId', - component: TeamMembers, - props: true - } - ] - }, - { path: '/users', component: UsersList } - ], - linkActiveClass: 'active', - scrollBehavior(_, _2, savedPosition) { - if (savedPosition) { - return savedPosition; - } - return { left: 0, top: 0 }; - } -}); - -router.beforeEach(function(to, _2, next) { - if (to.meta.needsAuth) { - console.log('Needs authentication.'); - } - // if (to.name === 'team-members') { - // next(); - // } else { - // next({ name: 'team-members', params: { teamId: 't2' } }); - // } - next(); -}); const app = createApp(App); app.use(router); app.mount('#app'); diff --git a/2021-03-27_routing-01-starting-setup/src/router.js b/2021-03-27_routing-01-starting-setup/src/router.js new file mode 100644 index 0000000..5ac6fdb --- /dev/null +++ b/2021-03-27_routing-01-starting-setup/src/router.js @@ -0,0 +1,50 @@ +import { createRouter, createWebHistory } from 'vue-router'; + +import TeamsList from './components/teams/TeamsList'; +import TeamMembers from './components/teams/TeamMembers'; +import UsersList from './components/users/UsersList'; + +const router = createRouter({ + history: createWebHistory(), + routes: [ + { path: '/', component: TeamsList }, + { + name: 'teams', + path: '/teams', + meta: { + needsAuth: true + }, + component: TeamsList, + children: [ + { + name: 'team-members', + path: ':teamId', + component: TeamMembers, + props: true + } + ] + }, + { path: '/users', component: UsersList } + ], + linkActiveClass: 'active', + scrollBehavior(_, _2, savedPosition) { + if (savedPosition) { + return savedPosition; + } + return { left: 0, top: 0 }; + } +}); + +router.beforeEach(function(to, _2, next) { + if (to.meta.needsAuth) { + console.log('Needs authentication.'); + } + // if (to.name === 'team-members') { + // next(); + // } else { + // next({ name: 'team-members', params: { teamId: 't2' } }); + // } + next(); +}); + +export default router;