input
Directiva AngularJS
Ejemplo
Un campo de entrada con enlace de datos:
<input ng-model="myInput">
<p>The value of the input field is:</p>
<h1>{{myInput}}</h1>
Definición y uso
AngularJS modifica el comportamiento predeterminado de los <input>
elementos, pero solo si el ng-model
atributo está presente.
Proporcionan vinculación de datos, lo que significa que son parte del modelo AngularJS y se pueden consultar y actualizar tanto en las funciones de AngularJS como en el DOM.
Proporcionan validación. Ejemplo: un <input>
elemento con un required
atributo, tiene el $valid
estado establecido
false
mientras esté vacío.
También proporcionan control estatal. AngularJS mantiene el estado actual de todos los elementos de entrada.
Los campos de entrada tienen los siguientes estados:
$untouched
El campo aún no ha sido tocado.$touched
El campo ha sido tocado$pristine
El campo aún no ha sido modificado.$dirty
El campo ha sido modificado.$invalid
El contenido del campo no es válido.$valid
El contenido del campo es válido.
El valor de cada estado representa un valor booleano y es true
o false
.
Sintaxis
<input ng-model="name">
Se hace referencia a los elementos de entrada mediante el valor del ng-model
atributo.
Clases CSS
<input>
Los elementos dentro de una aplicación AngularJS reciben ciertas clases . Estas clases se pueden usar para diseñar elementos de entrada según su estado.
Se añaden las siguientes clases:
ng-untouched
El campo aún no ha sido tocado.ng-touched
El campo ha sido tocadong-pristine
El campo aún no ha sido modificado.ng-dirty
El campo ha sido modificado.ng-valid
El contenido del campo es válido.ng-invalid
El contenido del campo no es válido.ng-valid-key
Una clave para cada validación. Ejemplo:ng-valid-required
, útil cuando hay más de una cosa que se debe validarng-invalid-key
Ejemplo:ng-invalid-required
Las clases se eliminan si el valor que representan es false
.
Ejemplo
Aplicar estilos para elementos de entrada válidos y no válidos, utilizando CSS estándar:
<style>
input.ng-invalid {
background-color: pink;
}
input.ng-valid {
background-color: lightgreen;
}
</style>