AngularJs标签指令
标签指令
对html原有的标签进行构建而产生新的功能的一种标签。
标签指令多用于在表单验证中。
- a标签指令
会阻止a标签的默认行为–>刷新页面。
<pre> <p ng-controller="aaa"> <!--写在ng-controller作用域范围内的a标签,就是a标签指令--> <a href="">aaa</a> </p> <a href="">aaa</a> </pre>
select
ng-options是用来配合select标签指令来生成select的下拉子项。
<pre> <!doctype html> <html lang="en" ng-app="app"> <head> <meta charset="utf-8"> <title>title</title> <script src="js/angular.min.js"></script> <script type="text/javascript"> var app=angular.module("app",[]); app.controller("aaa",["$scope",function($scope){ $scope.colors=[ {name:'red'}, {name:'yellow'}, {name:'blue'} ]; }]); </script> </head> <body> <p ng-controller="aaa"> <!-- ng-options必须和ng-model一起用,否则没效果;对select下拉框的子项的选择,即是对ng-model绑定的值的改变--> <select ng-options="color.name for color in colors" ng-model="mycolor"> </select> <a href="">{{mycolor.name}}</a> </p> </body> </html> </pre>
textarea
input
from
novalidate:阻止表单的一些默认的行为。
<pre> <p ng-controller="aaa"> <form novalidate> <!--html5中的email类型会给出邮箱格式提示, 若想不要这个表单默认行为,可在form标签上加上novalidate属性--> <input type="email"> </form> </p> </pre>
表单验证
相关验证值:
- valid有效的。如果表单验证通过时,valid这个值就为true。
- invalid无效的。与valid意思相反,表单验证通过时,invalid这个值为false。−pristine
原始值。如果需要验证的值没有被修改,是原始值,pristine这个值为true;如果修改了,pristine这个值为false。
- dirty脏值。与pristine的意思相反。
- $error
表单验证失败时产生的验证信息都在#error里面。
注意:表单验证中的查找是通过name的方式进行查找。
<pre> <!doctype html> <html lang="en" ng-app="app"> <head> <meta charset="utf-8"> <title>title</title> <script src="js/angular.min.js"></script> <script type="text/javascript"> var app=angular.module("app",[]); app.controller("aaa",["$scope",function($scope){ $scope.t1="hello"; }]); </script> </head> <body> <p ng-controller="aaa"> <form novalidate name="myform"> <input type="text" name="mytext" ng-model="t1"> <p>{{myform.mytext.$valid}}</p> <!--輸出true--> <p>{{myform.mytext.$invalid}}</p> <!--輸出false--> <p>{{myform.mytext.$pristine}}</p> <!--輸出true--> <p>{{myform.mytext.$dirty}}</p> <!--輸出false--> <p>{{myform.mytext.$error}}</p> <!--輸出{}--> </form> </p> </body> </html> </pre>
(1)当用户修改了输入框的值,myform.mytext.pristine的值为false,myform.mytext.dirty的值为true。
(2)如果把输入框的type改成“email”,myform.mytext.valid的值为false,myform.mytext.invalid的值为true,表单验证没通过;
因为t1=”hello”不符合邮箱格式规则。此时的myform.mytext.$error的值变成:{“email”:true},代表email验证未通过。
另外,type为nunber及url时,也能进行验证。
上一篇: 原生js三种选项卡滑动效果代码实现
下一篇: 升级至IE9浏览网页很慢的解决方法