AngularJS 让人爱不释手的八种功能


Posted in Javascript onMarch 23, 2016

八种AngularJS让人爱不释手的功能分享给大家,供大家参考,具体内容如下

第一 迭代输出之ng-repeat标签

ng-repeat让table ul ol等标签和js里的数组完美结合

<ul>
<li ng-repeat="person in persons">
{{person.name}} is {{person.age}} years old.
</li>
</ul>

你甚至可以指定输出的顺序:

<li ng-repeat="person in persons | orderBy:'name'">

第二 动态绑定之ng-model标签

任何有用户输入,只要是有值的html标签,都可以动态绑定js中的变量,
而且是动态绑定。

<input type="text" ng-model='password'>

对于绑定的变量,你可以使用{{}} 直接引用

<span>you input password is {{password}}</span>

如果你熟悉fiter,你可以很容易的按你的需要格式输出

<span>{{1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'}}</span>

第三 绑定点击事件之ng-click事件

使用ng-click你可以很容易的为一个标签绑定点击事件。

<button ng-click="pressMe()"/>

当然前提是你要在$scope域中定义的自己的pressMe方法。

和传统的onclick方法不同,你甚至可以为ng-click方法传递一个对象,就像这样:

<ul>
<li ng-repeat="person in persons">
<button ng-click="printf(person)"/>
</li>
</ul>

当然还有ng-dblclick标签

第四 分支语句之ng-switch on、ng-if/ng-show/ng-hide/ng-disabled标签

分支语句让你在界面上都可以写逻辑判断。

<ul>
<li ng-repeat="person in persons">
<span ng-switch on="person.sex">
<span ng-switch-when="1">you are a boy</span>
<span ng-switch-when="2">you are a girl</span>
</span>
<span ng-if="person.sex==1">you may be a father</span>
<span ng-show="person.sex==2">you may be a mother</span>
<span>
please input your baby's name:<input type="text" ng-disabled="!person.hasBaby"/>
</span>
<span>
</li>
</ul>

第五 校验语法之ng-trim ng-minlength ng-maxlength required ng-pattern 等标签

表单中的输入框,你可以使用上面的标签来实现对用户输入的校验。
从字面意思上你已经知道了它们的意思。

<form name="yourForm">
<input type="text" name="inputText" required ng-trim="true" ng-model="userNum" ng-pattern="/^[0-9]*[1-9][0-9]*$/" ng-maxlength="6" maxlength="6"/>
</form>

你可以通过 $scope.yourForm.inputText.$error.required 来判断输入框是否为空
你可以通过 $scope.yourForm.inputText.$invalid 来判断输入的内容是否满足ng-pattern,ng-maxlength,maxlength
你通过$scope.userNum获得的输入内容是去掉前后空白的,因为ng-trim的存在。

第六 下拉框之ng-options标签

ng-options是为下拉框专门打造的标签。

<select ng-model="yourSelected" ng-options="person.id as person.name in persons"></select>

下拉框中显示的是person.name,当你选中其中一个的时候,你可以通过yourSelected得到你选中的person.id.

第七 控制css之ng-style标签

ng-style帮你轻松控制你的css属性

<span ng-style="myColor">your color</span>

你可以通过给myColor赋值的形式来改变你想要的效果,就像这样:

$scope.myColor={color:'blue'};
$scope.myColor={cursor: 'pointer',color:'blue'};

第八 异步请求之$http对象

AngularJS 提供了一个类似jquery的$.ajax的对象,用于异步请求。
在AngularJS中对异步操作是推崇至极的,所以$http的操作都是异步的不像jquery.ajax里还提供了async参数。

$http({method : 'POST',params : { id:123}, data:{name:'john',age:27}, url : "/mypath"})
.success(function(response, status, headers, config){
//do anything what you want;
})
.error(function(response, status, headers, config){
//do anything what you want;
});

如果你是POST请求,params里的数据会帮你拼到url后面,data里的数据会放到请求体中。

看完之后是不是已经爱不释手了,那就好好的把这些应用到自己的项目中吧!

Javascript 相关文章推荐
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
Apr 13 Javascript
JavaScript 大数据相加的问题
Aug 03 Javascript
jquery实现ajax提交form表单的方法总结
Mar 03 Javascript
jQuery元素选择器用法实例
Dec 23 Javascript
js函数内变量的作用域分析
Jan 12 Javascript
JQuery中节点遍历方法实例
May 18 Javascript
AngularJS 作用域详解及示例代码
Aug 17 Javascript
BootStrap table使用方法分析
Nov 08 Javascript
vue图片加载与显示默认图片实例代码
Mar 16 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
Mar 03 Javascript
babel7.x和webpack4.x配置vue项目的方法步骤
May 12 Javascript
原生js+canvas实现贪吃蛇效果
Aug 02 Javascript
java中String类型变量的赋值问题介绍
Mar 23 #Javascript
基于javascript实现泡泡大冒险网页版小游戏
Mar 23 #Javascript
基于javascript实现句子翻牌网页版小游戏
Mar 23 #Javascript
基于jquery编写的放大镜插件
Mar 23 #Javascript
Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值
Mar 23 #Javascript
JavaScript弹出对话框的三种方式
Mar 23 #Javascript
JS随机洗牌算法之数组随机排序
Mar 23 #Javascript
You might like
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
2011/05/18 PHP
php获取文件内容最后一行示例
2014/01/09 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
PHP快速排序quicksort实例详解
2016/09/28 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
2017/03/19 PHP
jquery 插件学习(六)
2012/08/06 Javascript
js 浏览本地文件夹系统示例代码
2013/10/24 Javascript
经过绑定元素时会多次触发mouseover和mouseout事件
2014/02/28 Javascript
JS实现倒计时和文字滚动的效果实例
2014/10/29 Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
2015/07/17 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
2015/09/16 Javascript
Jquery表单验证失败后不提交的解决方法
2016/10/18 Javascript
微信小程序 获取当前地理位置和经纬度实例代码
2016/12/05 Javascript
超简单的Vue.js环境搭建教程
2017/03/17 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
2017/10/15 jQuery
webpack结合express实现自动刷新的方法
2019/05/07 Javascript
react国际化化插件react-i18n-auto使用详解
2020/03/31 Javascript
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
[33:33]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第二场 11.27
2020/11/30 DOTA
[50:50]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.20
2020/12/23 DOTA
Python3编码问题 Unicode utf-8 bytes互转方法
2018/10/26 Python
pycharm 配置远程解释器的方法
2018/10/28 Python
Python将一个Excel拆分为多个Excel
2018/11/07 Python
Python常用模块之requests模块用法分析
2019/05/15 Python
python写程序统计词频的方法
2019/07/29 Python
python构建指数平滑预测模型示例
2019/11/21 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
Python GUI库PyQt5图形和特效样式QSS介绍
2020/02/25 Python
django在开发中取消外键约束的实现
2020/05/20 Python
2019年.net常见面试问题
2012/02/12 面试题
土木建筑学生自我评价
2014/01/14 职场文书
群众路线批评与自我批评
2014/02/06 职场文书
初中毕业典礼演讲稿
2014/09/09 职场文书
民主生活会发言材料
2014/10/20 职场文书
2015年销售人员工作总结
2015/04/07 职场文书
Mysql基础之常见函数
2021/04/22 MySQL