Я создаю простое приложение с vueJS, но у меня проблемы с реактивностью.
Когда пользователь подключается к приложению, он получает JWT, я сохраняю этот JWT в своем локальном хранилище. И для проверки того, зарегистрирован ли пользователь, я просто проверяю наличие токена.
Прежде всего, это хороший метод?
Теперь я пытаюсь обновить панель навигации, когда пользователь не вошел в систему, у меня есть 2 кнопки «зарегистрироваться», «войти», когда он вошел в систему, я хочу, чтобы моя кнопка «отключить» появлялась, а две другие исчезают.
У меня есть компонент навигационной панели с "v-if" внутри для отображения или отсутствия кнопок.
В настоящее время я установил логическое значение «isLogged» в своих данных(). Как заставить vueJS отслеживать эти данные и обновлять мой компонент при обновлении этих данных?
<div class="navbar-item" v-if="!isLogged">
<div class="buttons">
<a @click="$router.push('/login')" class="button nav-button is-outlined">
CONNEXION
</a>
<a @click="$router.push('/register')" class="button nav-button is-outlined">
INSCRIPTION
</a>
</div>
</div>
<a @click="disconnect" class="navbar-item" v-if="isLogged">
Déconnexion
</a>
data() {
return {
isLogged: this.$jwt.hasToken()
}
}
Я бы хотел, чтобы моя панель навигации обновлялась без обновления компонента.