相关阅读:
在前面表达式和指令的教程中了解到,AngularJS模型(ng-model)可以将HTML输入域中的值与AngularJS创建的变量绑定。
<!DOCTYPE html><html><head><meta charset="utf-8"><script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script></head><body><div ng-app="" ng-init="name='Jone Snow'">名字: <input ng-model="name"></div></body></html>
双向绑定 AngularJS的双向绑定, 是指ng-model与HTML的输入域绑定,同时也与AngularJS的属性绑定,所以当输入域的值改变的时候,AngularJS的属性值也会改变。
<!DOCTYPE html><html><head><meta charset="utf-8"><script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script></head><body><div ng-app="myApp" ng-controller="myCtrl">名字: <input ng-model="name"><h1>你输入了: {{name}}</h1></div><script>var app = angular.module('myApp', []);app.controller('myCtrl', function($scope) {$scope.name = "John Snow";});</script><p>修改输入框的值,标题的名字也会相应修改。</p></body></html>
应用状态 ng-model 指令可以为应用数据提供状态值
dirty 当数据被修改时状态为TRUE,没有被修改过为FALSE。即使修改为原来的值,也为TRUE。
valid 输入值合法时为TRUE,不合法则为FALSE。
touched 通过触屏点击为TRUE,没有点击为FALSE。
根据状态来应用CSS样式
<!DOCTYPE html><html><head><meta charset="utf-8"><script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script></head><body><style>input.ng-invalid {background-color: lightblue;}</style><body><form ng-app="" name="myForm">输入你的名字:<input name="myAddress" ng-model="text" required></form></body></html>
input域增加了required状态,当input域没有输入时,ng-model为input域增加ng-invalid样式。反之则删除ng-invalid样式。 ng-model 指令根据表单域的状态添加/移除以下样式: - ng-empty - ng-not-empty - ng-touched - ng-untouched - ng-valid - ng-invalid - ng-dirty - ng-pending - ng-pristine 使用ng-model验证邮箱格式
<!DOCTYPE html><html><head><meta charset="utf-8"><script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script></head><body><form ng-app="" name="myForm">Email:<input type="email" name="myAddress" ng-model="text"><span ng-show="myForm.myAddress.$error.email">不是一个合法的邮箱地址</span></form></body></html>
myForm.myAddress.$error.email属性为TRUE(邮箱格式不正确)时,ng-show会控制span的内容显示出来。
以上内容是小编给大家介绍的AngularJS入门教程之AngularJS模型,希望对大家有所帮助!
新闻热点
疑难解答