实践中学习AngularJS表单


Posted in Javascript onMarch 21, 2016

表单是最常用的一种组建。在Angular.js中,其实并没有单独的为表单添加多少特殊功能。但是,利用Angular.js框架本身的特点,可以更友好的呈现表单。下面将介绍几种常用的功能在Angular中是如何巧妙实现的。

1.根据输入域数据实时更新输出数据

下面代吗实现了一个简易的计算表单,它能将用户输入的数据进行处理,并且实时显示在表单输出域中:

<div ng-app="" ng-init="quantity=1;price=5"> 
数量: <input type="number" ng-model="quantity"> 
价格: <input type="number" ng-model="price"> 
<p><b>总价:</b> {{ quantity * price }}</p> 
</div>

通过定义两个ng-model,将用户输入的数据进行实时监听,并且利用{{}}进行数据的调用,拥几行代码就完成了一个建议的计算表单功能。

2.实现表单重置功能

下面的代码实现了一个表单中经常使用的功能:重置表单。

HTML代码:

<div ng-app="myApp" ng-controller="formCtrl"> 
<form> 
First Name:<br> 
<input type="text" ng-model="user.firstName"><br> 
Last Name:<br> 
<input type="text" ng-model="user.lastName"> 
<br><br> 
<button ng-click="reset()">RESET</button> 
</form> 
<p>form = {{user}}</p> 
</div>

JS代码:

var app = angular.module('myApp', []); 
app.controller('formCtrl', function($scope) { 
$scope.master = {firstName: "John", lastName: "Doe"}; 
$scope.reset = function() { 
$scope.user = angular.copy($scope.master); 
}; 
$scope.reset(); 
});

在JS控制器代码中,我们定义了master对象,用来存放初始时刻表单输入框的值。我们定义了一个reset()方法,该方法执行后,利用angular.copy方法,将master中的值赋值给user,利用这样的方法实现了表单域的重置。在HTML代码中,我们使用ng-click鼠标点击事件触发reset()函数,从而实现我们的功能。

3.实现表单下拉菜单选择域功能

在Angular中,实现下拉菜单很简单。我们可以利用ng-repeat指令来方便的实现一个下拉菜单:

首先,在js的模型中定义数据,数据格式如下:

var app = angular.module('myApp', []); 
app.controller('myCtrl', function($scope) { 
$scope.names = ["Google", "Runoob", "Taobao"]; 
});

然后,我们在html中,利用ng-repeat进行模型中数据的读取(具体含义见之前博客)

<div ng-app="myApp" ng-controller="myCtrl"> 
<select ng-model="selectedName" ng-options="x for x in names"> 
</select> 
</div>

关于下拉菜单,还涉及到从数据库、远程等读取数据,此外还有其他方法实现下拉菜单。这些将在之后进行讨论。

Javascript 相关文章推荐
收集json解析的四种方法分享
Jan 17 Javascript
jquery bind(click)传参让列表中每行绑定一个事件
Aug 06 Javascript
JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)
Oct 17 Javascript
JQuery实现样式设置、追加、移除与切换的方法
Jun 11 Javascript
jQuery原生的动画效果
Jul 10 Javascript
JavaScript来实现打开链接页面的简单实例
Jun 02 Javascript
JS中sort函数排序用法实例分析
Jun 16 Javascript
vuejs动态组件给子组件传递数据的方法详解
Sep 09 Javascript
Jquery鼠标放上去显示全名的实现方法
Feb 06 Javascript
VueJS事件处理器v-on的使用方法
Sep 27 Javascript
js实现贪吃蛇小游戏(加墙)
Jul 31 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
Aug 12 Javascript
javascript单页面手势滑屏切换原理详解
Mar 21 #Javascript
javascript实现dom元素可拖动
Mar 21 #Javascript
AngularJS 中的指令实践开发指南(一)
Mar 20 #Javascript
浅析AngularJS中的指令
Mar 20 #Javascript
简述Matlab中size()函数的用法
Mar 20 #Javascript
详解Matlab中 sort 函数用法
Mar 20 #Javascript
Sort()函数的多种用法
Mar 20 #Javascript
You might like
完美的2个php检测字符串是否是utf-8编码函数分享
2014/07/28 PHP
使用纯php代码实现页面伪静态的方法
2015/07/25 PHP
PHP编程实现计算抽奖概率算法完整实例
2017/08/09 PHP
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
9款2014最热门jQuery实用特效推荐
2014/12/07 Javascript
jQuery中[attribute*=value]选择器用法实例
2014/12/31 Javascript
js随机生成网页背景颜色的方法
2015/02/26 Javascript
javascript弹出拖动窗口
2015/08/11 Javascript
js重写方法的简单实现
2016/07/10 Javascript
javascript 动态样式添加的简单实现
2016/10/11 Javascript
js封装tab标签页实例分享
2016/12/19 Javascript
Angular2实现自定义双向绑定属性
2017/03/22 Javascript
ES6新特性三: Generator(生成器)函数详解
2017/04/21 Javascript
微信小程序 标签传入数据
2017/05/08 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
2019/01/08 Javascript
[03:46]显微镜下的DOTA2第七期——满血与残血
2014/06/20 DOTA
tensorflow建立一个简单的神经网络的方法
2018/02/10 Python
python使用numpy读取、保存txt数据的实例
2018/10/14 Python
python读取目录下最新的文件夹方法
2018/12/24 Python
使用Python实现跳一跳自动跳跃功能
2019/07/10 Python
python英语单词测试小程序代码实例
2019/09/09 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
2019/12/13 Python
用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)
2020/05/17 Python
Python使用sys.exc_info()方法获取异常信息
2020/07/23 Python
秘书专业自荐信范文
2013/12/26 职场文书
酒店led欢迎词
2014/01/09 职场文书
新员工入职感言
2014/02/01 职场文书
高三上学期学习自我评价
2014/04/23 职场文书
客户经理竞聘演讲稿
2014/05/15 职场文书
授权委托书样本及填写说明
2014/09/19 职场文书
教师自我剖析材料(群众路线)
2014/09/29 职场文书
2016优秀毕业生个人事迹材料
2016/02/29 职场文书
班组长如何制订适合本班组的工作计划?
2019/07/10 职场文书
Linux7.6二进制安装Mysql8.0.27详细操作步骤
2021/11/27 MySQL
MySQL事务的隔离级别详情
2022/07/15 MySQL