AngularJS 最常用的功能汇总


Posted in Javascript onFebruary 17, 2016

AngularJS通过为开发者呈现一个更高层次的抽象来简化应用的开发。如同其他的抽象技术一样,这也会损失一部分灵活性。换句话说,并不是所有的应用都适合用AngularJS来做。AngularJS主要考虑的是构建CRUD应用。幸运的是,至少90%的WEB应用都是CRUD应用。但是要了解什么适合用AngularJS构建,就得了解什么不适合用AngularJS构建。

如游戏,图形界面编辑器,这种DOM操作很频繁也很复杂的应用,和CRUD应用就有很大的不同,它们不适合用AngularJS来构建。像这种情况用一些更轻量、简单的技术如jQuery可能会更好。

第一 迭代输出之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里的数据会放到请求体中。

以上给大家分享了八种AngularJS 最常用的功能,希望对大家有所帮助!

Javascript 相关文章推荐
javascript实现简单查找与替换的方法
Jul 22 Javascript
基于BootStrap Metronic开发框架经验小结【六】对话框及提示框的处理和优化
May 12 Javascript
JS控制div跳转到指定的位置的几种解决方案总结
Nov 05 Javascript
AngularJS中的缓存使用
Jan 11 Javascript
详解node.js搭建代理服务器请求数据
Apr 08 Javascript
微信小程序 滚动到某个位置添加class效果实现代码
Apr 19 Javascript
js使用xml数据载体实现城市省份二级联动效果
Nov 08 Javascript
Vue修改mint-ui默认样式的方法
Feb 03 Javascript
深入koa-bodyparser原理解析
Jan 16 Javascript
vue使用codemirror的两种用法
Aug 27 Javascript
Node如何后台数据库使用增删改查功能
Nov 21 Javascript
Javascript 模拟mvc实现点餐程序案例详解
Dec 24 Javascript
AngularJS身份验证的方法
Feb 17 #Javascript
基于AngularJS+HTML+Groovy实现登录功能
Feb 17 #Javascript
实例讲解jquery中mouseleave和mouseout的区别
Feb 17 #Javascript
Javascript实现图片轮播效果(二)图片序列节点的控制实现
Feb 17 #Javascript
Bootstrap中CSS的使用方法
Feb 17 #Javascript
Javascript实现图片轮播效果(一)让图片跳动起来
Feb 17 #Javascript
基于javascript简单实现对身份证校验
Jan 25 #Javascript
You might like
php在线生成ico文件的代码
2007/10/09 PHP
PHP中将数组转成XML格式的实现代码
2011/08/08 PHP
根据分辨率不同,调用不同的css文件
2006/07/07 Javascript
跟随鼠标旋转的文字
2006/11/30 Javascript
JQuery防止退格键网页后退的实现代码
2012/03/23 Javascript
ie8 不支持new Date(2012-11-10)问题的解决方法
2013/07/31 Javascript
jquery隐藏标签和显示标签的实例
2013/11/11 Javascript
jquery $.trim()方法使用介绍
2014/05/21 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
JS中自定义定时器让它在某一时刻执行
2014/09/02 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
2015/11/06 Javascript
有关Promises异步问题详解
2015/11/13 Javascript
遍历js中对象的属性和值的实例
2016/11/21 Javascript
修改 bootstrap table 默认detailRow样式的实例代码
2017/07/21 Javascript
vue2.0+vue-router构建一个简单的列表页的示例代码
2019/02/13 Javascript
一次让你了解全部JavaScript的作用域
2019/06/24 Javascript
Node.js实现简单的爬取的示例代码
2019/06/25 Javascript
vue实现学生信息管理系统
2020/05/30 Javascript
解决vue初始化项目一直停在downloading template的问题
2020/11/09 Javascript
web.py在模板中输出美元符号的方法
2014/08/26 Python
Python中列表、字典、元组数据结构的简单学习笔记
2016/03/20 Python
Flask项目中实现短信验证码和邮箱验证码功能
2019/12/05 Python
python如何使用jt400.jar包代码实例
2019/12/20 Python
Python单元测试模块doctest的具体使用
2020/02/10 Python
在django admin详情表单显示中添加自定义控件的实现
2020/03/11 Python
对python中arange()和linspace()的区别说明
2020/05/03 Python
python中wheel的用法整理
2020/06/15 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
澳大利亚女性快速时尚零售商:Ally Fashion
2018/04/25 全球购物
新西兰Bookabach:查找全球度假屋
2020/12/03 全球购物
Order by的几种用法
2013/06/16 面试题
婚礼证婚人证婚词
2014/01/13 职场文书
教师工作决心书
2015/02/04 职场文书
中学生自我评价范文
2015/03/03 职场文书
党员自我评价2015
2015/03/03 职场文书