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 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)
May 18 Javascript
AlertBox 弹出层信息提示框效果实现步骤
Oct 11 Javascript
js实现头像图片切割缩放及无刷新上传图片的方法
Jul 17 Javascript
javascript日期格式化方法小结
Dec 17 Javascript
javascript insertAfter()定义与用法示例
Jul 25 Javascript
jQuery EasyUI中的日期控件DateBox修改方法
Nov 09 Javascript
HTML5 js实现拖拉上传文件功能
Nov 20 Javascript
JS实现的判断方法、变量是否存在功能示例
Mar 28 Javascript
JavaScript之数组扁平化详解
Jun 03 Javascript
利用js-cookie实现前端设置缓存数据定时失效
Jun 18 Javascript
Vue快速实现通用表单验证的示例代码
Jan 09 Javascript
vue实现户籍管理系统
May 29 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的一个登录的类 [推荐]
2007/03/16 PHP
php 变量定义方法
2009/06/14 PHP
php各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
Laravel4中的Validator验证扩展用法详解
2016/07/26 PHP
PHP二分查找算法示例【递归与非递归方法】
2016/09/29 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
PHP设计模式之工厂方法设计模式实例分析
2018/04/25 PHP
PHP中实现中文字串截取无乱码的解决方法
2018/05/29 PHP
javascript据option的value值快速设定初始的selected选项
2007/08/13 Javascript
Javascript代码在页面加载时的执行顺序介绍
2013/05/03 Javascript
JS实现鼠标滑过折叠与展开菜单效果代码
2015/09/06 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
2016/11/07 Javascript
JS实现页面打印功能
2017/03/16 Javascript
seajs实现强制刷新本地缓存的方法分析
2017/10/16 Javascript
Vue 中对图片地址进行拼接的方法
2018/09/03 Javascript
详解json串反转义(消除反斜杠)
2019/08/12 Javascript
新手入门js闭包学习过程解析
2019/10/08 Javascript
vue页面切换项目实现转场动画的方法
2019/11/12 Javascript
分享一款超好用的JavaScript 打包压缩工具
2020/04/26 Javascript
json.stringify()与json.parse()的区别以及用处
2021/01/25 Javascript
Python中使用asyncio 封装文件读写
2016/09/11 Python
django限制匿名用户访问及重定向的方法实例
2018/02/07 Python
代码讲解Python对Windows服务进行监控
2018/02/11 Python
python使用pandas处理大数据节省内存技巧(推荐)
2019/05/05 Python
在Python中append以及extend返回None的例子
2019/07/20 Python
Python3列表List入门知识附实例
2020/02/09 Python
python中安装django模块的方法
2020/03/12 Python
Python Scrapy多页数据爬取实现过程解析
2020/06/12 Python
Engel & Bengel官网:婴儿推车、儿童房家具和婴儿设备
2019/12/28 全球购物
个人作风剖析材料
2014/02/02 职场文书
化学工程专业求职信
2014/08/10 职场文书
西安兵马俑导游词
2015/02/02 职场文书
感恩主题班会教案
2015/08/12 职场文书
详解Python内置模块Collections
2022/03/22 Python
Spring Bean是如何初始化的详解
2022/03/22 Java/Android