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 相关文章推荐
asp.net和asp下ACCESS的参数化查询
Jun 11 Javascript
利用jQuery操作对象数组的实现代码
Apr 27 Javascript
js与jQuery 获取父窗、子窗的iframe
Dec 20 Javascript
javascript中验证大写字母、数字和中文
Jan 15 Javascript
做web开发 先学JavaScript
Dec 12 Javascript
详解JavaScript函数对象
Nov 15 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
Dec 25 Javascript
JS控制鼠标拒绝点击某一按钮的实例
Dec 29 Javascript
重学 JS:为啥 await 不能用在 forEach 中详解
Apr 15 Javascript
微信小程序云开发实现数据添加、查询和分页
May 17 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
Jan 26 Javascript
React Hook用法示例详解(6个常见hook)
Apr 28 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
漫荒推荐:画风超赞的国风漫画推荐 超长假期不无聊
2020/03/08 国漫
深入phpMyAdmin的安装与配置的详细步骤
2013/05/07 PHP
php根据操作系统转换文件名大小写的方法
2014/02/24 PHP
php操作redis中的hash和zset类型数据的方法和代码例子
2014/07/05 PHP
PDO::lastInsertId讲解
2019/01/29 PHP
JS模拟面向对象全解(一、类型及传递)
2011/07/13 Javascript
简单的代码实现jquery定时器
2013/11/17 Javascript
Jquery中offset()和position()的区别分析
2015/02/05 Javascript
每天一篇javascript学习小结(Boolean对象)
2015/11/12 Javascript
AngularJS通过$sce输出html的方法
2016/09/22 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
Vue.js中extend选项和delimiters选项的比较
2017/07/17 Javascript
详解webpack中的hash、chunkhash、contenthash区别
2018/01/05 Javascript
浅谈js闭包理解
2019/04/01 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
Vue实现简单的跑马灯
2020/05/25 Javascript
JavaScript经典案例之简易计算器
2020/08/24 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
2020/12/14 Vue.js
在python中利用最小二乘拟合二次抛物线函数的方法
2018/12/29 Python
python中的反斜杠问题深入讲解
2019/08/12 Python
python多进程 主进程和子进程间共享和不共享全局变量实例
2020/04/25 Python
使用Python实现微信拍一拍功能的思路代码
2020/07/09 Python
纯css3实现思维导图样式示例
2018/11/01 HTML / CSS
HTML最新标准HTML5总结(必看)
2016/06/13 HTML / CSS
美国廉价机票预订网站:Cheapfaremart
2018/04/28 全球购物
俄罗斯Sportmarket体育在线商店:用于旅游和户外活动
2019/11/12 全球购物
广州盈通面试题
2015/12/05 面试题
2013年保送生自荐信格式
2013/11/20 职场文书
2014最新版群众路线四风整改措施
2014/09/24 职场文书
个人学习总结范文
2015/02/15 职场文书
大国崛起日本观后感
2015/06/02 职场文书
离职信范文
2015/06/23 职场文书
用javascript制作qq注册动态页面
2021/04/14 Javascript
python非标准时间的转换
2021/07/25 Python
SQL语句多表联合查询的方法示例
2022/04/18 MySQL