Задать вопрос
  • Как правильно выполнить динамический vue роутинг?

    @AnastasiyaLebedevich Автор вопроса
    Начинающий frontend developer
    После долгих неудачных попыток пришла к такому результату. Код, на мой взгляд, кажется несколько нагроможденным - возможно кто-то предложит что-то более изящное или просто более удобный/подходящий вариант - но он работает (вроде как):
    router.beforeEach((to, from, next) => {
    	const tokenAuth = computed(() => store.state.Auth.authToken);
    	const agreement = computed(() => store.state.Auth.nativeData.agreement);
    	const guest = computed(() => store.state.Auth.guest);
    
    	if (
    		to.meta.requiresAuth &&
    		!Boolean(tokenAuth.value) &&
    		!agreement.value &&
    		!guest.value
    	) {
    		next({ name: 'TermsOfUseView' });
    	} else if (
    		to.meta.isGuest &&
    		!Boolean(tokenAuth.value) &&
    		agreement.value &&
    		!guest.value
    	) {
    		next({ name: 'AuthorizationView' });
    	} else if (
    		to.meta.isGuest &&
    		Boolean(tokenAuth.value) &&
    		agreement.value &&
    		guest.value
    	) {
    		next({ name: 'HomeView' });
    	} else {
    		next();
    	}
    });
    Ответ написан
    Комментировать