Для навигации по компонентам также можно использовать клавишу meta
в объекте маршрута.
Пример:
import VueRouter from 'vue-router'
const routes = [
{
path: '/',
name: 'home',
component: MainWindow,
meta: {
requiresAuth: true,
}
},
{
path: '/login',
name: 'login',
component: Login,
meta: {
guest: true
}
}
]
const Router = new VueRouter({
routes,
mode: 'history',
});
Router.beforeEach((to, from, next) => {
const userData = localStorageAuth.getUserData();
if (to.matched.some(record => record.meta.requiresAuth)) {
if (userData.token === null) {
next({
path: '/login',
params: {nextUrl: to.fullPath}
})
} else {
next();
}
});