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中文逗号转英文实现
Feb 11 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
Sep 15 Javascript
AngularJS 让人爱不释手的八种功能
Mar 23 Javascript
jquery 实现复选框的全选操作实例代码
Jan 24 Javascript
如何使用Bootstrap 按钮实例详解
Mar 29 Javascript
基于JavaScript实现活动倒计时效果
Apr 20 Javascript
浅谈Angular4中常用管道
Sep 27 Javascript
vue-cli项目中怎么使用mock数据
Sep 27 Javascript
微信小程序实现城市列表选择
Jun 05 Javascript
对Vue.js之事件的绑定(v-on: 或者 @ )详解
Sep 15 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
May 15 Javascript
Vue2.0 $set()的正确使用详解
Jul 28 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/06/14 PHP
php 连接mssql数据库 初学php笔记
2010/03/01 PHP
PHP之密码加密的几种方式
2015/07/29 PHP
微信支付开发发货通知实例
2016/07/12 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
2017/10/07 PHP
Yii框架视图、视图布局、视图数据块操作示例
2019/10/14 PHP
PHP强制转化的形式整理
2020/05/22 PHP
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
sencha touch 模仿tabpanel导航栏TabBar的实例代码
2013/10/24 Javascript
js onclick事件传参讲解
2013/11/06 Javascript
jquery动态分页效果堪比时光网
2014/09/25 Javascript
jquery调取json数据实现省市级联的方法
2015/01/29 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
IE下JS保存图片的简单实例
2016/07/15 Javascript
微信小程序 页面跳转传参详解
2016/10/28 Javascript
JS简单生成由字母数字组合随机字符串示例
2018/05/25 Javascript
Vue高版本中一些新特性的使用详解
2018/09/25 Javascript
微信小程序实现卡片左右滑动效果的示例代码
2019/05/01 Javascript
微信小程序入门之绘制时钟
2020/10/22 Javascript
[43:47]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第一局
2016/03/05 DOTA
[09:47]2018DOTA2亚洲邀请赛4.5SOLO赛 No[o]ne vs Sumail
2018/04/06 DOTA
python连接oracle数据库实例
2014/10/17 Python
在Python的循环体中使用else语句的方法
2015/03/30 Python
python用模块zlib压缩与解压字符串和文件的方法
2016/12/16 Python
python numpy中cumsum的用法详解
2019/10/17 Python
Python自动化测试笔试面试题精选
2020/03/12 Python
Python爬取12306车次信息代码详解
2020/08/12 Python
CSS3 clip-path 用法介绍详解
2018/03/01 HTML / CSS
新加坡领先的时尚生活方式零售品牌:CHARLES & KEITH
2018/01/16 全球购物
劳动模范事迹材料
2014/01/19 职场文书
《一本男孩子必读的书》教学反思
2014/02/19 职场文书
2016元旦主持人开场白
2015/12/03 职场文书
MySQL创建索引需要了解的
2021/04/08 MySQL
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python
动画「半妖的夜叉姬」新BD特典图公开
2022/03/22 日漫