Tengo un cuadro de texto y un botón de enviar. Cuando el usuario hace clic en el botón Enviar, mi javascript realiza algunas comprobaciones para asegurarse de que la entrada sea "válida" y luego, idealmente, mostraría un mensaje de error si la entrada no es válida.
En mi HTML tengo una etiqueta ap que quiero mostrar cuando mi variable vm.showError se establece en verdadero, y quiero que muestre el valor de mi variable vm.errorMsg :
<p ng-hide="!vm.showError">{{vm.errorMsg}}</p>Dentro de mi controlador AngularJS tengo el siguiente código:
var valid = validateTextbox(); validateTextbox() devuelve una promesa, cuyo valor es un objeto que se parece a esto:
{ valid: boolean, errorMsg: string }y luego directamente después, tengo lo siguiente:
valid.then(response => { if (!response.valid) { vm.showError = true; vm.errorMsg = response.errorMsg; } else { vm.showError = false; //call some other function that does stuff with the input } }); Me pregunto cómo puedo asegurarme de que el mensaje de error aparezca a tiempo, debido a que el valor ng-hide se establece en un .then() . En este momento, aparece el mensaje de error después de escribir otro carácter en el cuadro de texto (supongo que se debe a una repetición)