热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【Angularjs文档翻译及实例】表单指令集(input)

最近在看Angular的知识,无论是书中还是网上,讲解跟表单有关的指令集都是点到为止,讲些基础验证,比如,是否为空,是否为email地址,更多的并没有讲解,但是,当我查看Angul

最近在看Angular的知识,无论是书中还是网上,讲解跟表单有关的指令集都是点到为止,讲些基础验证,比如,是否为空,是否为email地址,更多的并没有讲解,但是,当我查看Angular的官方文档时,发现与input控件相关的指令集真的很丰富,有关HTML5新增的控件也有很多,所以,我试着将input相关的指令集部分的英文文档再加上自己的理解翻译了一下,如果有不当的地方还希望各位看观指正。

Angular真的很强大,强大的让人眼前一亮。

约定

参数名会使用驼峰式书写。例如ngShow,此参数用在控件的属性时,属性名为:ng-show。以此为约定。

input

用法

ng-model="string"
[name="string"]
[required="string"]
[ng-required="boolean"]
[ng-minlength="number"]
[ng-maxlength="number"]
[ng-pattern="string"]
[ng-change="string"]
[ng-trim="boolean"]>
...

参数说明

参数类型详情
ngModelstring改选参数,用于数据绑定
name(optional)string控件自定义名称,运行期间可使用些名称控制控件
required(optional)string如果添加此属性,并且内容为空,则设置$error.required为true
ngRequired(optional)boolean如果必填,则此属性设置为true
ngMinlength(optional)number如果输入的长度小于此值,就会设置$error.min为true
ngMaxlength(optional)number如果输入的长度大于此值,就会设置$error.max为true。如果此值设置为负数或者非数值,则表示可输入任意长度。
ngPattern(optional)string如果此属性中的表达式不能匹配输入的值,就会设置$error.pattern为true。如果表达式为RegExp对象,那么就会直接使用。如果表达式是一个字符串,那么Angular会在字符串外层增加^和$。比如,”abc”将会转换为new RegExp(‘^abc&’)。
ngChange(optional)stringonChange事件绑定
ngTrim(optional)boolean如果为false,不会修剪输入。如果输入框的类型为password,此属性无作用。默认是true

小贴士:记得,在使用$error时,要使用控件的name值作为变量,不应该使用ngModel值作为变量。

下面的代码分别演示了required和ngMinlength属性的用法,以及$error的实际应用。

请注意ngShow中的内容,使用的变量全部是name属性的值。



input1 is empty.

input2 is must longer than 5









form.txt1.$error.required:{{form.txt1.$error.required}}


form.txt2.$error.minlength:{{form.txt2.$error.minlength}}

var app = angular.module('myapp', []);
app.controller('inputCtrl', function($scope) {
$scope.input1 = 'required';
$scope.input2 = 'min';
});

运行效果:https://jsfiddle.net/Lionney/my2ht8fx/

input[checkbox]、input[date]以及input[datetime-local]

input[checkbox]用法

ng-model="string"
[name="string"]
[ng-true-value="expression"]
[ng-false-value="expression"]
[ng-change="string"]>

其中ngMode、name以及ngChange请参照input的参数列表,下面,仅列出与上个控件不同的参数。

参数说明

参数类型详情
ngTrueValue(optional)expression当选择框为选中状态时,则返回此属性中的值。此属性内容默认为表达式,所以,如果是字符型数据,则要在外面使用’包含起来。比如:ng-true-value=”‘abc'”,否则会按表达式处理。
ngFalseValue(optional)expression当选择框为未选中状态时,则返回此属性中值。其余同上。

input[date]用法

ng-model="string"
[name="string"]
[min="string"]
[max="string"]
[ng-min=""]
[ng-max=""]
[required="string"]
[ng-required="string"]
[ng-change="string"]>

其中ngMode、name、required、ngRequired以及ngChange请参照input的参数列表,下面,仅列出与input控件不同的参数。

参数说明

参数类型详情
min(optional)string日期选择器是HTML5中新加的表单控件类型,此属性是为了设置控件最小可选择的日期。这个属性必须使用ISO日期字符串(yyyy-MM-dd)格式。当然,也可以插入变量(详见注释1)。如果不符合此属性设置的最小值,则会设置$error.min为true。
max(optional)string此属性为设置日期控制所能选择的最大日期。其它与上一参数相同。如果不符合此属性设置的最小值,则会设置$error.max为true。
ngMin(optional)datestring此为angular的属性,设置后,不会影响控件的最小可选择日期,如果用户选择填写的与属性不符,则会设置$error.min为true。属性设置方法与min参数相同
ngMax(optional)datestring此为angular的属性,设置后,不会影响控件的最大可选择日期,如果用户选择填写的与属性不符,则会设置$error.max为true。属性设置方法与max参数相同

注释1:min=”{{minDate | date:’yyyy-MM-dd’}}”

input[datetime-local]用法

ng-model="string"
[name="string"]
[min="string"]
[max="string"]
[ng-min=""]
[ng-max=""]
[required="string"]
[ng-required="string"]
[ng-change="string"]>

此控件与date控件一样,只是在设置min、max、ngMin、ngMax属性时,内容有所不同,因为此控件是选择日期及时间,所以设置的时候要加上时间,格式依然要使用ISO规定的日期时间格式(yyyy-MM-ddTHH:mm:ss),当使用日期过滤器时,格式化为:”{{maxDatetimeLocal | date:’yyyy-MM-ddTHH:mm:ss’}}”

其它的参数说明与date是一样,可以参照date参数说明。

下面实例为使用了以上控件的综合实例,代码如下:



选择1


选择2



min validate error.



min validate error.


ck={{ck1}}


ck={{ck2}}


dd={{dd}}


dl={{dl}}

var app = angular.module('checkbox', []);
app.controller('ckCtrl', function($scope) {
$scope.ck1 = true;
$scope.ck2 = 7
$scope.dd = new Date('2017-01-01');
$scope.dl = new Date('2017-01-01 08:08:00');
});

程序说明

当使用$error时,必须同时设置控件的name与ngModel属性,使用name属性值做为变量,否则,程序将达不到验证效果。验证的提示信息也必须放在form表单中,见代码中带有ngShow部分内容。

checkbox的初始化有两种方式,第一种即此代码中所展示的ck1。如果没有设置ngTureValue/ngFalseValue的话,可以直接赋值true/false。第二种为此代码中所展示的ck2。如果设置了ngTureValue/ngFalseValue,那么要使用ngTureValue/ngFalseValue中的值来初始化选择框状态。

运行效果https://jsfiddle.net/Lionney/snojqoqy/


推荐阅读
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
  • 本文介绍了Sencha Touch的学习使用心得,主要包括搭建项目框架的过程。作者强调了使用MVC模式的重要性,并提供了一个干净的引用示例。文章还介绍了Index.html页面的作用,以及如何通过链接样式表来改变全局风格。 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • VueCLI多页分目录打包的步骤记录
    本文介绍了使用VueCLI进行多页分目录打包的步骤,包括页面目录结构、安装依赖、获取Vue CLI需要的多页对象等内容。同时还提供了自定义不同模块页面标题的方法。 ... [详细]
author-avatar
wyl8605204
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有