Direttiva input di AngularJS
Definizione e uso
AngularJS modifica <input>
comportamento predefinito dell'elemento, ma a condizione che l'attributo ng-model esista.
Forniscono binding dei dati, il che significa che sono parte del modello AngularJS e possono essere riferiti e aggiornati nelle funzioni AngularJS e nel DOM.
Forniscono convalida. Esempio: con required
attributo <input>
elemento, finché è vuoto, il suo $valid
Lo stato sarà impostato false
.
Forniscono anche controllo degli stati. AngularJS memorizza lo stato corrente di tutti gli elementi di input.
Il campo di input ha i seguenti stati:
$untouched
Il campo non è stato toccato$touched
Il campo è stato toccato$pristine
Questo campo non è stato modificato$dirty
Questo campo è stato modificato$invalid
Il contenuto del campo è non valido$valid
Il contenuto del campo è valido
Ogni valore di stato rappresenta un valore booleano, per true
o false
.
Esempio
Casella di input con binding dei dati:
<input ng-model="myInput"> <p>Il valore dell'input è:</p> <h1>{{myInput}}</h1>
Sintassi
<input ng-model="name">
Utilizzando ng-model
Il valore dell'attributo per riferirsi all'elemento di input.
Classi CSS
All'interno dell'applicazione AngularJS <input>
L'elemento riceve alcune classi. Queste classi possono essere utilizzate per impostare lo stile dell'elemento in base allo stato dell'input.
È stata aggiunta la seguente classe:
ng-untouched
Il campo non è stato toccatong-touched
Il campo è stato toccatong-pristine
Questo campo non è stato modificatong-dirty
Questo campo è stato modificatong-valid
Il contenuto del campo è validong-invalid
Il contenuto del campo è non validong-valid-key
Verifica un singolo chiave alla volta. Ad esempio:ng-valid-required
è utile quando ci sono più cose da verificareng-invalid-key
Ad esempio:ng-invalid-required
Se il valore rappresentato dalla classe è false
quindi queste classi verranno eliminate.
Esempio
Applica stili standard CSS agli elementi di input validi e non validi:
<style> input.ng-invalid { background-color: pink; } input.ng-valid { background-color: lightgreen; } </style>