Los últimos tutoriales de desarrollo web
 

AngularJS Directiva ng-modelo


La directiva ng-modelo se une el valor de los controles HTML (input, select, textarea) para datos de aplicación.


La Directiva ng-modelo

Con el ng-model directiva se puede enlazar el valor de un campo de entrada a una variable creada en AngularJS.

Ejemplo

<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>
Inténtalo tú mismo "

La unión de dos vías

La unión va en ambos sentidos. Si el usuario cambia el valor en el campo de entrada, la propiedad AngularJS también cambiará su valor:

Ejemplo

<div ng-app="myApp" ng-controller="myCtrl">
    Name: <input ng-model="name">
    <h1>You entered: {{name}}</h1>
</div>
Inténtalo tú mismo "

Validar entrada de usuario

El ng-model directiva puede proporcionar validación de tipo de datos de la aplicación (número, correo electrónico, es necesario):

Ejemplo

<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>
Inténtalo tú mismo "

En el ejemplo anterior, se mostrará el lapso sólo si la expresión en el ng-show atributo devuelve true .

Nota Si la propiedad en el ng-model atributo no existe, AngularJS crearán una para ti.

Estado de la aplicación

El ng-model directiva puede proporcionar el estado de los datos de aplicación (no válido, sucio, tocado, error):

Ejemplo

<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>
Inténtalo tú mismo "

Las clases CSS

El ng-model Directiva establece las clases CSS para elementos HTML, en función de su condición:

Ejemplo

<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>
Inténtalo tú mismo "

El ng-model Directiva añade / quita las siguientes clases, de acuerdo con el estado del campo de formulario:

  • ng-vacía
  • ng-no-vacía
  • ng-tocado
  • ng-intacta
  • ng-válida
  • ng-inválido
  • ng-sucia
  • ng-pendiente
  • ng-prístina