У меня есть приложение Vue. js, которое использует Vue -Router и Vuex. На одной странице пользователь обновляет свой адрес электронной почты, и я хочу, чтобы он перезагружался, поэтому сначала я все очищаю, выходя из системы, затем вводю сообщение в Vuex, затем отправляю их sh на страницу входа / просмотр.
Если я использую плагин Vue Chrome, я вижу, что состояние обновляется в правильном порядке и правильные данные есть, ie пользовательских данных не существует, но мое сообщение существует
Страница Я обновляю электронную почту с
Это ответ на вызов API, когда я подтверждаю, что обновление электронной почты прошло успешно.
this.$store.dispatch('logout')
this.$store.commit('loginInfo', 'Email updated, please login again.')
return this.$router.push('/login')
Сохранение / файл состояния
Извините за отсутствие полного файла, но здесь это не нужно, только ниже
// state
error: {
registerErrorMessage: '',
loginErrorMessage: '',
loginInfoMessage: '',
resetError: ''
},
// mutations
loginInfo(state, message) {
state.error.loginInfoMessage = message
},
Login. vue
// Template
<div v-if="infoMessage" class="alert alert-info">
{{ infoMessage }}
</div>
// Script
computed: {
infoMessage() {
return this.$store.getters.loginInfo
}
}
В настоящее время происходит то, что он выходит из системы, добавляет сообщение в Vuex и толкает его к виду входа в систему без отображения сообщения