Moduli AngularJS


I moduli in AngularJS forniscono l'associazione dei dati e la convalida dei controlli di input.


Controlli di input

I controlli di input sono gli elementi di input HTML:

  • elementi di input
  • selezionare gli elementi
  • elementi del pulsante
  • elementi dell'area di testo

Associazione dati

I controlli di input forniscono l'associazione dei dati utilizzando la ng-modeldirettiva.

<input type="text" ng-model="firstname">

L'applicazione dispone ora di una proprietà denominata firstname.

La ng-modeldirettiva associa il controller di input al resto dell'applicazione.

La proprietà firstname, può essere indicata in un responsabile del trattamento:

Esempio

<script>
var app = angular.module('myApp', []);
app.controller('formCtrl', function($scope) {
  $scope.firstname = "John";
});
</script>

Può essere indicato anche altrove nella domanda:

Esempio

<form>
  First Name: <input type="text" ng-model="firstname">
</form>

<h1>You entered: {{firstname}}</h1>


Casella di controllo

Una casella di controllo ha il valore trueo false. Applica la ng-modeldirettiva a una casella di controllo e usa il suo valore nella tua applicazione.

Esempio

Mostra l'intestazione se la casella di controllo è selezionata:

 <form>
  Check to show a header:
  <input type="checkbox" ng-model="myVar">
</form>

<h1 ng-show="myVar">My Header</h1>

Tasti della radio

Associa i pulsanti di opzione alla tua applicazione con la ng-model direttiva.

I pulsanti di opzione con lo stesso ng-modelpossono avere valori diversi, ma verrà utilizzato solo quello selezionato.

Esempio

Visualizza del testo, in base al valore del pulsante di opzione selezionato:

<form>
  Pick a topic:
  <input type="radio" ng-model="myVar" value="dogs">Dogs
  <input type="radio" ng-model="myVar" value="tuts">Tutorials
  <input type="radio" ng-model="myVar" value="cars">Cars
</form>

Il valore di myVar sarà dogs, tutso cars.


Casella di selezione

Associa le caselle di selezione alla tua applicazione con la ng-model direttiva.

La proprietà definita ng-modelnell'attributo avrà il valore dell'opzione selezionata nella casella di selezione.

 Esempio

Visualizza del testo, in base al valore dell'opzione selezionata:

<form>
  Select a topic:
  <select ng-model="myVar">
    <option value="">
    <option value="dogs">Dogs
    <option value="tuts">Tutorials
    <option value="cars">Cars
  </select>
</form>

Il valore di myVar sarà dogs, tutso cars.


Un esempio di modulo AngularJS

Nome di battesimo:

Cognome:


form = {"firstName":"John","lastName":"Doe"}

maestro = {"firstName":"John","lastName":"Doe"}


Codice dell'applicazione

<div ng-app="myApp" ng-controller="formCtrl">
  <form novalidate>
    First Name:<br>
    <input type="text" ng-model="user.firstName"><br>
    Last Name:<br>
    <input type="text" ng-model="user.lastName">
    <br><br>
    <button ng-click="reset()">RESET</button>
  </form>
  <p>form = {{{user}}</p>
  <p>master = {{{master}}</p>
</div>

<script>
var app = angular.module('myApp', []);
app.controller('formCtrl', function($scope) {
  $scope.master = {firstName: "John", lastName: "Doe"};
  $scope.reset = function() {
    $scope.user = angular.copy($scope.master);
  };
  $scope.reset();
});
</script>

L' attributo novalidate è nuovo in HTML5. Disabilita qualsiasi convalida del browser predefinito.


Esempio spiegato

La direttiva ng-app definisce l'applicazione AngularJS.

La direttiva ng-controller definisce il controller dell'applicazione.

La direttiva ng-model lega due elementi di input all'oggetto utente nel modello.

Il controller formCtrl imposta i valori iniziali sull'oggetto master e definisce il metodo reset() .

Il metodo reset() imposta l'oggetto utente uguale all'oggetto master .

La direttiva ng-click richiama il metodo reset() , solo se si fa clic sul pulsante.

L'attributo novalidate non è necessario per questa applicazione, ma normalmente lo utilizzerai nei moduli AngularJS, per sovrascrivere la convalida HTML5 standard.