最新的Web开发教程
 

AngularJS NG-模式指令


在NG-模型指令结合HTML控件的应用程序的数据值(输入,选择,文本区域)。


在NG-模型指令

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="myAddress" ng-model="text" required>
</form>
试一试»

ng-model指令添加/删除以下类,根据表单域的状态:

  • NG-空
  • NG-不空
  • NG-感动
  • NG-无动于衷
  • NG-有效
  • NG-无效
  • NG-脏
  • NG-待定
  • NG-质朴