dauren101
@dauren101
Python, Django ,Vue.js

Vue.js данные не успевают подгрузиться?

methods: {
  async edit(id) {
      this.isEdit = 1;

     await axios
        .get(
          process.env.VUE_APP_API +
            "/" +
            this.api +
            "/" +
            this.module +
            "/" +
            this.submodule +
            "/retrieve/?id=" +
            id
        )
        .then((response) => {
          let data2=response.data[0];
          this.form.title = data2[2];
         
     
        
        })
        .catch((error) => {
          error;
        });
    },
},
  mounted() {
    setTimeout(() => {
       this.edit(this.$route.params.id);
    }, 1000);
  },

К сожалению приходится ставить timeout чтобы данные подгрузились в форму, а без timeout инпуты пустые. Подскажите пожалуйста, как сделать без timeout, вдруг данные прилетят через 2 сек или больше.
  • Вопрос задан
  • 392 просмотра
Пригласить эксперта
Ответы на вопрос 2
@kip_34
Хороший
Логично, что форма пустая изначально, т.к. данные приходят асинхронно. Проверяйте в шаблоне, пришли ли данные, например, через v-if
Ответ написан
Комментировать
0xD34F
@0xD34F Куратор тега Vue.js
watch: {
  данные: {
    immediate: true,
    handler() {
      if (данные) {
        делаете чего там вам надо
      }
    },
  },
},
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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