Я строю СПА с каркасом Vue. js. По сути, у меня есть шаблон в приложении. vue, который содержит навигацию, а затем вид маршрутизатора под ним. Когда пользователь заходит в систему, у меня появляется модал, который выскакивает и отправляет запрос на вход в мой API.
У меня возникает проблема, когда пользователь входит в систему, я не уверен, как я могу повторно отобразить навигацию так, чтобы после входа в систему параметры входа и регистрации были скрыты. Я понимаю, что мог бы использовать подход типа v-if = "user", но я не уверен, как я могу вернуть эту переменную 'user' обратно из модального режима после входа в систему.
Приложение. vue
<template>
<div id="app">
<img alt="Vue logo" src="./assets/head_img.png">
<nav>
<ul>
<li><router-link to="/games">All games</router-link></li>
<li><router-link to="/">Home</router-link></li>
<li><modal-login>Login</modal-login></li>
<li><modal-register>Register</modal-register></li>
<li v-if="user">Logout</li>
</ul>
</nav>
<router-view></router-view>
</div>
</template>
<script>
import ModalLogin from './components/ModalLogin.vue'
import ModalRegister from './components/ModalRegister.vue'
export default {
name: 'app',
components: {
ModalLogin,
ModalRegister
}
}
</script>
Модальный пример
<template>
<div>
<a href="/#register" @click.prevent="show">Register</a>
<modal name="modal-register" @opened="opened">
<form @submit.prevent="doRegister">
<div class="form-group">
<label for="email" class="block">Email</label>
<input v-model="email" type="email" id="email" name="email" class="border" ref="email">
</div>
<div class="form-group">
<label for="password" class="block">Password</label>
<input v-model="password" type="password" id="password" name="password" class="border">
</div>
<div class="form-group">
<button type="submit">Register</button>
</div>
</form>
<div class="form-group">
<p>Already have an account? <a href="#" @click.prevent="showLogin">Login</a></p>
</div>
</modal>
</div>
</template>
В моем запросе у меня есть .then после запроса, чтобы я мог проверьте, что запрос имеет статус 201.
Буду признателен за любую помощь в том, что я могу попробовать или на что мне следует обратить внимание, чтобы выполнить задачу такого типа.