Директива модели AngularJS
Директива ng-model привязывает значение элементов управления HTML (ввод, выбор, текстовое поле) к данным приложения.
Директива по моделированию
С помощью ng-model
директивы вы можете привязать значение поля ввода к переменной, созданной в AngularJS.
Пример
<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>
Двусторонняя привязка
Привязка идет в обе стороны. Если пользователь изменит значение внутри поля ввода, свойство AngularJS также изменит свое значение:
Пример
<div ng-app="myApp" ng-controller="myCtrl">
Name:
<input ng-model="name">
<h1>You entered: {{name}}</h1>
</div>
Подтвердить ввод пользователя
Директива ng-model
может обеспечить проверку типа для данных приложения (номер, адрес электронной почты, обязательно):
Пример
<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>
В приведенном выше примере диапазон будет отображаться только в том случае, если выражение в ng-show
атрибуте возвращает значение true
.
Если свойство в ng-model
атрибуте не существует, AngularJS создаст его для вас.
Статус приложения
Директива ng-model
может предоставлять статус данных приложения (действительный, грязный, затронутый, ошибка):
Пример
<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>
CSS-классы
Директива ng-model
предоставляет классы CSS для элементов HTML в зависимости от их статуса:
Пример
<style>
input.ng-invalid {
background-color:
lightblue;
}
</style>
<body>
<form ng-app="" name="myForm">
Enter your name:
<input name="myName" ng-model="myText" required>
</form>
Директива ng-model
добавляет/удаляет следующие классы в зависимости от статуса поля формы:
- из-пустой
- не-пустой
- тронутый
- нетронутый
- действительный
- недействительный
- грязный
- нг-ожидание
- нетронутый