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 相关文章推荐
node.js chat程序如何实现Ajax long-polling长链接刷新模式
Mar 13 Javascript
jquery隔行换色效果实现方法
Jan 15 Javascript
js实现div模拟模态对话框展现URL内容
May 27 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
Mar 28 Javascript
JavaScript运动框架 多物体任意值运动(三)
May 17 Javascript
微信小程序 rich-text的使用方法
Aug 04 Javascript
vue.js移动数组位置,同时更新视图的方法
Mar 08 Javascript
vue router 跳转后回到顶部的实例
Aug 31 Javascript
探索JavaScript中私有成员的相关知识
Jun 13 Javascript
jquery实现商品sku多属性选择功能(商品详情页)
Dec 20 jQuery
vue+elementUI实现简单日历功能
Sep 24 Javascript
vue使用keep-alive实现组件切换时保存原组件数据方法
Oct 30 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清除数组中所有字符串两端空格的方法
2014/10/20 PHP
php上传图片客户端和服务器端实现方法
2015/03/30 PHP
PHPStorm+XDebug进行调试图文教程
2016/06/13 PHP
PHP导出带样式的Excel示例代码
2016/08/28 PHP
laravel框架关于搜索功能的实现
2018/03/15 PHP
PHP7生产环境队列Beanstalkd用法详解
2020/05/19 PHP
基于jquery的direction图片渐变动画效果
2010/05/24 Javascript
jquery lazyload延迟加载技术的实现原理分析
2011/01/24 Javascript
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
2013/01/11 Javascript
javascript显示倒计时控制按钮的简单实现
2016/06/07 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
DWR3 访问WEB元素的两种方法实例详解
2017/01/03 Javascript
Vue.Js中的$watch()方法总结
2017/03/23 Javascript
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
2020/05/29 jQuery
Python中使用 Selenium 实现网页截图实例
2014/07/18 Python
Python类属性与实例属性用法分析
2015/05/09 Python
Python通过正则表达式选取callback的方法
2015/07/18 Python
Python编写电话薄实现增删改查功能
2016/05/07 Python
python下读取公私钥做加解密实例详解
2017/03/29 Python
python的构建工具setup.py的方法使用示例
2017/10/23 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
2018/03/23 Python
python使用knn实现特征向量分类
2018/12/26 Python
Django实现whoosh搜索引擎使用jieba分词
2020/04/08 Python
.img/.hdr格式转.nii格式的操作
2020/07/01 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
关于解决iframe标签嵌套问题的解决方法
2020/03/04 HTML / CSS
瑞典网上购买现代和复古家具:Reforma
2019/10/21 全球购物
Java中的异常处理机制的简单原理和应用
2013/04/27 面试题
会计学财务管理专业个人的自我评价
2013/10/19 职场文书
教师推荐信范文
2013/11/24 职场文书
红旗团支部事迹材料
2014/01/27 职场文书
教师申诉制度
2014/01/29 职场文书
好人好事事迹材料
2014/02/12 职场文书
《蒙娜丽莎之约》教学反思
2014/02/27 职场文书
乡镇党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书