@kirill-93

Как правильно дождаться данных в компоненте vue?

При загрузке приложения идет авторизация пользователя. Я беру токен пользователя из localStorage и отправляю на сервер за данными.
Далее, а одном из компонентов (форма добавления комментария) пользователю нужно заполнить три поля: имя, имейл и сообщение. Поле имейл заполняется из его профиля по умолчанию. Заполняется так:
data() {
    name: '',
    email: '',
    message: ''
},
mounted() {
    this.email = this.$store.state.user.email;
}

Проблема в том, что на момент выполнения mounted(), данные о пользователе могут еще не прийти, то есть запрос еще не до конца выполнился. Я мог бы напрямую вставлять данные из Vuex или повесить отслеживание через watch, но сомневаюсь как правильнее.
Как вы поступаете в таких случаях?
  • Вопрос задан
  • 501 просмотр
Решения вопроса 1
@nvdfxx
Senior Pomidor developer
Просто в computed поместите все вызовы из стора, а не в mounted
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Fragster
@Fragster
помогло? отметь решением!
А зачем дублировать данные стора в данных компонента? почему не воспользоваться mapState?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы