Gli ultimi tutorial di sviluppo web
 

AngularJS Direttiva ng-modello


La direttiva ng modello associa il valore di controlli HTML (input, selezionare, textarea) per i dati delle applicazioni.


La direttiva ng-modello

Con il ng-model direttiva è possibile associare il valore di un campo di immissione di una variabile creata in AngularJS.

Esempio

<div ng-app="myApp" ng-controller="myCtrl">
    Name: <input ng-model="name">
</div>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.name = "John Doe";
});
</script>
Prova tu stesso "

Bidirezionale Binding

Il legame va in entrambe le direzioni. Se l'utente cambia il valore all'interno del campo di ingresso, la proprietà AngularJS cambierà anche il suo valore:

Esempio

<div ng-app="myApp" ng-controller="myCtrl">
    Name: <input ng-model="name">
    <h1>You entered: {{name}}</h1>
</div>
Prova tu stesso "

Convalida immissione utente

Il ng-model direttiva può fornire la convalida tipo per i dati delle applicazioni (numero, e-mail, richiesto):

Esempio

<form ng-app="" name="myForm">
    Email:
    <input type="email" name="myAddress" ng-model="text">
    <span ng-show="myForm.myAddress.$error.email">Not a valid e-mail address</span>
</form>
Prova tu stesso "

Nell'esempio precedente, la durata verrà visualizzato solo se l'espressione nel ng-show attributo restituisce true .

Nota Se la proprietà nella ng-model attributo non esiste, AngularJS creerà uno per te.

Stato dell'applicazione

Il ng-model direttiva in grado di fornire lo stato per i dati dell'applicazione (non validi, sporco, toccato, errore):

Esempio

<form ng-app="" name="myForm" ng-init="myText = '[email protected]'">
    Email:
    <input type="email" name="myAddress" ng-model="myText" required>
    <h1>Status</h1>
    {{myForm.myAddress.$valid}}
    {{myForm.myAddress.$dirty}}
    {{myForm.myAddress.$touched}}
</form>
Prova tu stesso "

Le classi CSS

Il ng-model direttiva prevede classi CSS per gli elementi HTML, a seconda del loro stato:

Esempio

<style>
input.ng-invalid {
    background-color: lightblue;
}
</style>
<body>

<form ng-app="" name="myForm">
    Enter your name:
    <input name="myAddress" ng-model="text" required>
</form>
Prova tu stesso "

Il ng-model direttiva aggiunge / rimuove le seguenti classi, a seconda dello stato del campo di modulo:

  • ng-vuoto
  • ng-non-vuoto
  • ng-toccati
  • ng-toccata
  • ng-valida
  • ng-invalid
  • ng-dirty
  • ng in attesa
  • ng-incontaminata