Как во vue/nuxt запретить роутинг по условию?
Проект на vue 2
export function createRouter() {
return new Router({
mode: 'history',
routes: [
{
path: '/',
component: Index,
name: 'index',
beforeEnter: () => {},
},
{
path: '/dashboard',
component: Dashboard,
name: 'dashboard',
},
{
path: '/reconstruction',
component: Reconstruction,
name: 'reconstruction',
},
],
}).beforeEach((to, from, next) => {
const flag = 42;
if (flag !== 42) {
next('reconstruction');
} else {
next();
}
}); }
С бекенда будет прилетать флаг тру/фолс и в зависимости от этого я либо показываю приложение, то есть компонент default/index, или если ведутся технические работы я должен показать только 1 компонент - reconstruction и запретить переход по другим компонентам. Не понимаю где нужно пробросить это условие, пока хочу сделать что то вроде if (false) - path: '/reconstruction', и даже если в пути человек введет /login то он ни куда не перейдет
P.S
получилось сделать -
router.beforeEach((to, from, next) => {
const flag = 42;
if (to.path !== '/reconstruction' && flag !== 42) {
next('/reconstruction');
} else {
next();
}
});
не понимаю зачем добавлять проверку to.path !== '/reconstruction'/ Без нее не работает