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 相关文章推荐
jquery 多行滚动代码(附详细解释)
Jun 17 Javascript
9款2014最热门jQuery实用特效推荐
Dec 07 Javascript
jquery悬浮提示框完整实例
Jan 13 Javascript
浅谈Javascript数组(推荐)
May 17 Javascript
AngularJS包括详解及示例代码
Aug 17 Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
Jan 11 Javascript
three.js 入门案例详解
Jan 23 Javascript
js实现敏感词过滤算法及实现逻辑
Jul 24 Javascript
微信小程序实现bindtap等事件传参
Apr 08 Javascript
javascript 关于赋值、浅拷贝、深拷贝的个人理解
Nov 01 Javascript
vue+ESLint 配置保存 自动格式化代码
Mar 17 Javascript
Vue 实现对quill-editor组件中的工具栏添加title
Aug 03 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 array_intersect比array_diff快(附详细的使用说明)
2011/07/03 PHP
PHP Static延迟静态绑定用法分析
2016/03/16 PHP
PHP内置加密函数详解
2016/11/20 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
PHP基于openssl实现非对称加密代码实例
2020/06/19 PHP
使用JQUERY Tabs插件宿主IFRAMES
2010/01/01 Javascript
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
2011/12/08 Javascript
Jquery uploadify图片上传插件无法上传的解决方法
2013/12/16 Javascript
使用JavaScript的ActiveXObject对象检测应用程序是否安装的方法
2014/04/15 Javascript
jQuery监控文本框事件并作相应处理的方法
2015/04/16 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
2017/02/16 Javascript
使用jQuery卸载全部事件的思路详解
2017/04/03 jQuery
JS原生轮播图的简单实现(推荐)
2017/07/22 Javascript
使用node.js对音视频文件加密的实例代码
2017/08/30 Javascript
JS路由跳转的简单实现代码
2017/09/21 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
[49:56]VG vs Optic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python实现抓取城市的PM2.5浓度和排名
2015/03/19 Python
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
python日期时间转为字符串或者格式化输出的实例
2018/05/29 Python
python求解数组中两个字符串的最小距离
2018/09/27 Python
在Pycharm中项目解释器与环境变量的设置方法
2018/10/29 Python
解决vscode python print 输出窗口中文乱码的问题
2018/12/03 Python
Python Matplotlib实现三维数据的散点图绘制
2019/03/19 Python
你应该知道的Python3.6、3.7、3.8新特性小结
2020/05/12 Python
Monnier Frères美国官网:法国知名奢侈品网站
2016/11/22 全球购物
美国畅销的跑步机品牌:ProForm
2017/02/06 全球购物
《骆驼和羊》教学反思
2014/02/27 职场文书
酒店开业庆典策划方案
2014/05/28 职场文书
小学绿色学校申报材料
2014/08/23 职场文书
手机销售员岗位职责
2015/04/11 职场文书
小学信息技术教学反思
2016/02/16 职场文书
Django分页器的用法你都了解吗
2021/05/26 Python
Python爬虫实战之爬取京东商品数据并实实现数据可视化
2021/06/07 Python
Nginx+Tomcat负载均衡集群的实现示例
2021/10/24 Servers