AngularJS- input
Direktive
Beispiel
Ein Eingabefeld mit Datenbindung:
<input ng-model="myInput">
<p>The value of the input field is:</p>
<h1>{{myInput}}</h1>
Definition und Verwendung
AngularJS ändert das Standardverhalten von <input>
Elementen, aber nur, wenn das ng-model
Attribut vorhanden ist.
Sie bieten Datenbindung, was bedeutet, dass sie Teil des AngularJS-Modells sind und sowohl in AngularJS-Funktionen als auch im DOM referenziert und aktualisiert werden können.
Sie geben Bestätigung. Beispiel: Ein <input>
Element mit einem required
Attribut hat den $valid
Zustand auf gesetzt,
false
solange es leer ist.
Sie bieten auch staatliche Kontrolle. AngularJS hält den aktuellen Zustand aller Eingabeelemente.
Eingabefelder haben folgende Zustände:
$untouched
Das Feld wurde noch nicht berührt$touched
Das Feld wurde berührt$pristine
Das Feld wurde noch nicht geändert$dirty
Das Feld wurde geändert$invalid
Der Feldinhalt ist ungültig$valid
Der Feldinhalt ist gültig
Der Wert jedes Zustands stellt einen booleschen Wert dar und ist entweder true
oder false
.
Syntax
<input ng-model="name">
Auf Eingabeelemente wird über den Wert des ng-model
Attributs verwiesen.
CSS-Klassen
<input>
Elemente innerhalb einer AngularJS-Anwendung erhalten bestimmte Klassen . Diese Klassen können verwendet werden, um Eingabeelemente entsprechend ihrem Status zu formatieren.
Folgende Klassen kommen hinzu:
ng-untouched
Das Feld wurde noch nicht berührtng-touched
Das Feld wurde berührtng-pristine
Das Feld wurde noch nicht geändertng-dirty
Das Feld wurde geändertng-valid
Der Feldinhalt ist gültigng-invalid
Der Feldinhalt ist ungültigng-valid-key
Ein Schlüssel für jede Validierung. Beispiel:ng-valid-required
, nützlich, wenn mehr als eine Sache validiert werden mussng-invalid-key
Beispiel:ng-invalid-required
Die Klassen werden entfernt, wenn der Wert, den sie darstellen, false
.
Beispiel
Wenden Sie Stile für gültige und ungültige Eingabeelemente an, indem Sie Standard-CSS verwenden:
<style>
input.ng-invalid {
background-color: pink;
}
input.ng-valid {
background-color: lightgreen;
}
</style>