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 相关文章推荐
js验证上传图片的方法
May 12 Javascript
基于JQuery实现图片轮播效果(焦点图)
Feb 02 Javascript
JavaScript时间戳与时间日期间相互转换
Dec 11 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
Apr 20 Javascript
微信小程序实现横向增长表格的方法
Jul 24 Javascript
解决vue脚手架项目打包后路由视图不显示的问题
Sep 20 Javascript
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
Sep 27 Javascript
JavaScript时间日期操作实例小结【5个示例】
Dec 22 Javascript
JavaScript使用Math.random()生成简单的验证码
Jan 21 Javascript
layui-tree实现Ajax异步请求后动态添加节点的方法
Sep 23 Javascript
使用layui监听器监听select下拉框,事件绑定不成功的解决方法
Sep 28 Javascript
vue实现网络图片瀑布流 + 下拉刷新 + 上拉加载更多(步骤详解)
Jan 14 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 cli 小技巧
2013/06/03 PHP
smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
2015/01/22 PHP
js left,right,mid函数
2008/06/10 Javascript
用js遍历 table的脚本
2008/07/23 Javascript
js中将具有数字属性名的对象转换为数组
2011/03/06 Javascript
JSON 数据格式介绍
2012/01/13 Javascript
js调试系列 初识控制台
2014/06/18 Javascript
jQuery中:hidden选择器用法实例
2014/12/30 Javascript
JavaScript中判断函数、变量是否存在
2015/06/10 Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
2016/01/23 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
JavaScript toUpperCase()方法使用详解
2016/08/26 Javascript
jQuery实现输入框邮箱内容自动补全与上下翻动显示效果【附demo源码下载】
2016/09/20 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
浅谈移动端之js touch事件 手势滑动事件
2016/11/07 Javascript
详解ES6 系列之异步处理实战
2018/10/26 Javascript
对layui中的onevent 和event的使用详解
2019/09/06 Javascript
在Vue中获取自定义属性方法:data-id的实例
2020/09/09 Javascript
Python随机生成数模块random使用实例
2015/04/13 Python
django session完成状态保持的方法
2018/11/27 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
对Python中画图时候的线类型详解
2019/07/07 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
Django自定义模板过滤器和标签的实现方法
2019/08/21 Python
用HTML5制作一个简单的桌球游戏的教程
2015/05/12 HTML / CSS
美国首屈一指的礼品篮供应商:GiftTree
2018/01/06 全球购物
几个SQL的面试题
2014/03/08 面试题
中学老师的自我评价
2013/11/07 职场文书
应届生的求职推荐信范文
2013/11/30 职场文书
销售行政专员职责
2014/01/03 职场文书
写给学生的新学期寄语
2014/01/18 职场文书
运动会邀请函范文
2014/01/31 职场文书
逃课上网检讨书
2014/02/20 职场文书
怀念母亲教学反思
2014/04/28 职场文书
客户经理岗位职责
2015/01/31 职场文书
中国古风插画师排行榜:夏达第一,第三是阴阳师姑获鸟皮肤创作者
2022/03/18 国漫