实践中学习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 相关文章推荐
动态修改DOM 里面的 id 属性的弊端分析
Sep 03 Javascript
关于jQuery参考实例2.0 用jQuery选择元素
Apr 07 Javascript
JQuery打造省市下拉框联动效果
May 18 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
Sep 12 Javascript
整理关于Bootstrap过渡动画的慕课笔记
Mar 29 Javascript
详解angularjs利用ui-route异步加载组件
May 21 Javascript
vue 组件高级用法实例详解
Apr 11 Javascript
vue-swiper的使用教程
Aug 30 Javascript
js中位运算的运用实例分析
Dec 11 Javascript
ES7之Async/await的使用详解
Mar 28 Javascript
浅谈Vue.js组件(二)
Apr 09 Javascript
js中位数不足自动补位扩展padLeft、padRight实现代码
Apr 06 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
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
php生成gif动画的方法
2015/11/05 PHP
漂亮的thinkphp 跳转页封装示例
2019/10/16 PHP
In Javascript Class, how to call the prototype method.(three method)
2007/01/09 Javascript
jQuery 插件仿百度搜索框智能提示(带Value值)
2013/01/22 Javascript
jQuery去掉字符串起始和结尾的空格(多种方法实现)
2013/04/01 Javascript
js对图片base64编码字符串进行解码并输出图像示例
2014/03/17 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
2015/11/21 Javascript
AngularJS入门教程之XHR和依赖注入详解
2016/08/18 Javascript
AngularJS定时器的使用与移除操作方法【interval与timeout】
2016/12/14 Javascript
Bootstrap里的文件分别代表什么意思及其引用方法
2017/05/01 Javascript
JS装饰器函数用法总结
2018/04/21 Javascript
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
2018/09/11 Javascript
vue2.0实现的tab标签切换效果(内容可自定义)示例
2019/02/11 Javascript
详解关于Vuex的action传入多个参数的问题
2019/02/22 Javascript
详解JavaScript中的坐标和距离
2019/05/27 Javascript
Node.js 实现抢票小工具 &amp; 短信通知提醒功能
2019/10/22 Javascript
vue setInterval 定时器失效的解决方式
2020/07/30 Javascript
vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据操作
2020/07/31 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
Python功能键的读取方法
2015/05/28 Python
python检查字符串是否是正确ISBN的方法
2015/07/11 Python
利用python的socket发送http(s)请求方法示例
2018/05/07 Python
python利用微信公众号实现报警功能
2018/06/10 Python
python Pillow图像处理方法汇总
2019/10/16 Python
在python中实现求输出1-3+5-7+9-......101的和
2020/04/02 Python
Python实现捕获异常发生的文件和具体行数
2020/04/25 Python
python实现sm2和sm4国密(国家商用密码)算法的示例
2020/09/26 Python
解决使用Pandas 读取超过65536行的Excel文件问题
2020/11/10 Python
cookies应对python反爬虫知识点详解
2020/11/25 Python
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
英国快时尚女装购物网站:PrettyLittleThing
2018/08/15 全球购物
警示教育观后感
2015/06/17 职场文书
导游词之岳阳楼
2019/09/25 职场文书
2019年第四季度财务部门工作计划
2019/11/02 职场文书
Vue中foreach数组与js中遍历数组的写法说明
2021/06/05 Vue.js