angularJS中除了ng开头的属性指令,还有标签指令、自定义指令等。

标签指令 :对原有的标签进行了重新的构建,并有了新的功能

  • <a>:阻止默认行为,阻止刷新页面

  • <select>
    -ng-options(需要与ng-model结合使用)
    代码示例:

    <script>var m = angular.module('myApp',[]);//引入相应模块m.controller('Aaa',['$scope',function($scope){$scope.colors=[{name:"red"},{name:"yellow"},{name:"blue"}];}]);</script><div ng-controller="Aaa" ng-app="myApp"><a href="">{{myColor.name}}<select ng-options="color.name for color in colors" ng-model="myColor"></select></div>

页面结果展示:

  • <textarea>
  • <input>
  • <form>
    -novalidate:阻止表单默认行为
    代码示例:
<form novalidate><input type="email">
</form>

表单验证

  • $valid:表单验证成功返回真,验证失败返回假(验证格式不合格时不通过)
  • $invalid:与valid相反,表单验证失败返回真,验证成功返回假
  • $pristine:原始值即进行验证的值是初始值,未进行修改则返回true,修改后则返回false
  • $dirty:与pristine相反
  • $error:无论是验证成功还是验证失败,验证信息均会在此
  • 注意点:
    — name的方式进行查找
    — 要写ng-model

代码示例:

    <script>var m = angular.module('myApp',[]);//引入相应模块m.controller('Aaa',['$scope',function($scope){$scope.colors="hello";}]);</script><div ng-controller="Aaa" ><form novalidate name="myForm"><input type="text" name="myText" ng-model="colors"><div>{{myForm.myText.$valid}}</div><div>{{myForm.myText.$invalid}}</div><div>{{myForm.myText.$pristine}}</div><div>{{myForm.myText.$dirty}}</div></form></div>

页面结果展示:

改变了原始值:

  • type:类型验证
    -email
    -number
    -url
  • required:判断是否为空,空为true,非空为false

  • ng-minlength:当字符串的长度大于该值时返回false,字符串长度小于该值时返回true。验证成功false,失败返回true。

  • ng-maxlength

  • ng-pattern:通过正则来限制内容,验证成功返回false,失败返回true

代码示例:

    <script>var m = angular.module('myApp',[]);//引入相应模块m.controller('Aaa',['$scope',function($scope){$scope.colors="hello";}]);</script><div ng-controller="Aaa" ><form novalidate name="myForm"><input type="text" name="myText" ng-model="colors" required ng-minlength="4" ng-pattern="/^[a-zA-Z]+$/"><div>{{myForm.myText.$valid}}</div><div>{{myForm.myText.$invalid}}</div><div>{{myForm.myText.$pristine}}</div><div>{{myForm.myText.$dirty}}</div><div>{{myForm.myText.$error}}</div></form></div>

页面结果展示:

通过表单验证设置CSS样式:
.class

  • .ng-valid{}:验证成功显示该样式
  • .ng-invalid{}:验证失败显示该样式
  • .ng-pristine{}:保留原始值显示该样式
  • .ng-dirty{}:修改元素值显示该样式

代码示例:

    <style type="text/css">input.ng-valid {border:1px red solid;}input.ng-invalid {border:1px green solid;}</style>

页面结果展示:


表单验证例子:

代码示例:

<script src="angular.min.js"></script>
<script>var m1 = angular.module('myApp',[]);
m1.controller('Aaa',['$scope',function($scope){$scope.regText = {regVal : 'default',regList : [{ name : 'default' , tips : '请输入用户名'},{ name : 'required' , tips : '用户名不能为空'},{ name : 'pattern' , tips : '用户名必须是字母'},{ name : 'pass' , tips : '√'}]};$scope.regPassword = {regVal : 'default',regList : [{ name : 'default' , tips : '请输入密码'},{ name : 'required' , tips : '密码不能为空'},{ name : 'minlength' , tips : '密码至少6位'},{ name : 'pass' , tips : '√'}]};$scope.change = function( reg , err ){for(var attr in err){if( err[attr] == true ){$scope[reg].regVal = attr;return;}}$scope[reg].regVal = 'pass';};}]);<div ng-controller="Aaa"><form novalidate name="nForm"><div><label>用户名:</label><input type="text" name="nText" ng-model="regText.name" required ng-pattern="/^[a-zA-Z]+$/" ng-blur="change('regText',nForm.nText.$error)"><span ng-repeat=" re in regText.regList | filter : regText.regVal ">{{ re.tips }}</span></div><div><label>密码:</label><input type="password" name="nPassword" ng-model="regPassword.name" required ng-minlength="6" ng-blur="change('regPassword',nForm.nPassword.$error)"><span ng-repeat=" re in regPassword.regList | filter : regPassword.regVal ">{{ re.tips }}</span></div></form>
</div>

页面结果展示:

angularJS 标签指令相关推荐

  1. angularjs directive scope变化为啥html,学习AngularJs:Directive指令用法(完整版)

    本教程使用AngularJs版本:1.5.3 摘要:Directive(指令)笔者认为是AngularJ非常强大而有有用的功能之一.它就相当于为我们写了公共的自定义DOM元素或CLASS属性或ATTR ...

  2. AngularJS - 自定义指令

    这一篇从自定义指令出发,记录了定义一个指令时影响指令行为的各种因素. 试着感受这些因素,让自己更高效地编写AngularJS应用. Directive 先从定义一个简单的指令开始. 定义一个指令本质上 ...

  3. AngularJS: 自定义指令与控制器数据交互

    <!doctype html> <html><head><meta charset="utf-8"><title>Ang ...

  4. AngularJs 常用指令标签

    1.ng-app:告诉Angular他应该管理页面的那一部分,可以放在html元素上也可以放在div等标签上 例:<html ng-app="problem"> 2.n ...

  5. AngularJS自定义指令详解(有分页插件代码)

    前言 除了 AngularJS 内置的指令外,我们还可以创建自定义指令. 通过 .directive() 函数来添加自定义的指令. 调用自定义指令时,需要在HTMl 元素上添加自定义指令名. 自定义指 ...

  6. Angularjs标签模板加载原理

    前言 Angularjs提供多种模板加载方案. 最基础的为通过预先声明路径的方式,通过Ajax获取. 使用诸如gulp-html2js构建工具,将HTML模板转化为js文件使用. 使用script标签 ...

  7. AngularJS Slider指令(directive)扩展

    继上一篇基于jQuery UI Autocomplete的AngularJS 指令(directive)扩展,在这里发布一个AngularJS的Slider扩展.如果你还不了解AngularJS话的情 ...

  8. AngularJS自定义指令–隔离范围教程

    Earlier we looked at different directive properties and created a simple directive using those prope ...

  9. AngularJS自定义指令教程第2部分

    In the previous post, we created a simple directive to manipulate the DOM's behavior. In this post, ...

最新文章

  1. 知乎高赞:我的编程能力从什么时候开始突飞猛进的?
  2. C++笔记——指向常量的指针/指针常量
  3. dubbo学习(八)dubbo项目搭建--消费者(服务消费者)
  4. 阶段3 2.Spring_04.Spring的常用注解_7 改变作用范围以及和生命周期相关的注解
  5. linux命令增删改查,hw_linux_study_day003,Linux系统终端中的增删改查命令
  6. HenCoder「仿写酷界面」征稿
  7. windows 7 RC(7106.0.090408)下载另附windows7驱动收集整合(5月31日更新)
  8. 读书笔记(13)STP
  9. php字体颜色代码大全,CSS中关于文本字体颜色(CSS color)的详解
  10. 参考文献标引方式_论文参考文献标注格式
  11. Nginx常用知识梳理(三)——windows环境下端口耗尽问题
  12. 厦门大学计算机专业,厦门大学计算机科学系专业介绍
  13. 参加2022年全国设备监测诊断与维护学术会议感想
  14. 注意:近期QQ陌生人经常发送QQ文件名为“果冻.r22”等文件!大家千万别接收或打开!
  15. 如何给apk安装包去毒,避免被识别为病毒和木马
  16. Jack Server--Android N AOSP编译--Failed to contact Jack server
  17. iOS越狱实战(超详细)
  18. pytorch图片分割原理
  19. H2 database文档学习
  20. 腾讯QQ手机浏览器内核开放

热门文章

  1. Java上路08-包间互访
  2. iphone12使用自带邮箱APP添加163邮箱
  3. PS4时隔10年华丽回归 携手Cocos开启黄金主机时代
  4. echarts月份折线图
  5. python怎么去重
  6. 我的JAVA学习第一周知识总结,个人感受小结
  7. 详解python中for循环的_详的意思-详字五行属什么-详字取名的寓意 - 起名网
  8. layer的简单的使用
  9. 【AirTest实例】1.使用脚本自动跑通游戏引导
  10. Qt之MoveWindow类编写(可停靠桌面)