input
Diretiva AngularJS
Exemplo
Um campo de entrada com vinculação de dados:
<input ng-model="myInput">
<p>The value of the input field is:</p>
<h1>{{myInput}}</h1>
Definição e uso
O AngularJS modifica o comportamento padrão dos <input>
elementos, mas somente se o ng-model
atributo estiver presente.
Eles fornecem vinculação de dados, o que significa que eles fazem parte do modelo AngularJS e podem ser referenciados e atualizados, tanto em funções AngularJS quanto no DOM.
Eles fornecem validação. Exemplo: um <input>
elemento com um required
atributo, tem o $valid
estado definido
false
enquanto estiver vazio.
Eles também fornecem controle estatal. AngularJS mantém o estado atual de todos os elementos de entrada.
Os campos de entrada têm os seguintes estados:
$untouched
O campo ainda não foi tocado$touched
O campo foi tocado$pristine
O campo ainda não foi modificado$dirty
O campo foi modificado$invalid
O conteúdo do campo não é válido$valid
O conteúdo do campo é válido
O valor de cada estado representa um valor booleano e é true
ou false
.
Sintaxe
<input ng-model="name">
Elementos de entrada estão sendo referenciados usando o valor do ng-model
atributo.
Classes CSS
<input>
elementos dentro de um aplicativo AngularJS recebem certas classes . Essas classes podem ser usadas para estilizar elementos de entrada de acordo com seu estado.
As seguintes classes são adicionadas:
ng-untouched
O campo ainda não foi tocadong-touched
O campo foi tocadong-pristine
O campo ainda não foi modificadong-dirty
O campo foi modificadong-valid
O conteúdo do campo é válidong-invalid
O conteúdo do campo não é válidong-valid-key
Uma chave para cada validação. Exemplo:ng-valid-required
, útil quando há mais de uma coisa que deve ser validadang-invalid-key
Exemplo:ng-invalid-required
As classes são removidas se o valor que elas representam for false
.
Exemplo
Aplique estilos para elementos de entrada válidos e inválidos, usando CSS padrão:
<style>
input.ng-invalid {
background-color: pink;
}
input.ng-valid {
background-color: lightgreen;
}
</style>