Попробуйте поймать на v, если

#javascript #vue.js #try-catch

#javascript #vue.js #попробуйте-поймать

Вопрос:

У меня есть v-if , который показывает сообщение об ошибке в HTML

     <div id="error" v-if="showError">Error User or Password</div>

  data() {
    return {
      showError: false,
};}
 

если я задаю данные showError: true , они появляются.

Но когда я вызываю это внутри моего улова:

   catch (error) {
    alert('Usuário ou senha inválidos')

  }
 

alert работает нормально, но если я отправлю

 showError = true
 

или

 showError: true;
 

не отображается сообщение об ошибке в HTML( v-if )

как мне это сделать?

Комментарии:

1. Сработало, спасибо!!! сейчас я пытаюсь выполнить setTimeout, чтобы сделать false для showError, вы знаете, как это сделать? я попробовал: setTimeout(это. Ошибка showError = false,10000);

Ответ №1:

Вам нужно установить для элемента true значение, а затем подождать некоторое время, прежде чем устанавливать его false . Вот так:

 this.showError = true;
setTimeout(() => {
    this.showError = false;
}, 1000);
 

Комментарии:

1. @WashingtonGuedes спасибо, что указали на это, я соответствующим образом отредактировал свой ответ.