AngularJS系列——表达式、常用指令和过滤器

前端之家收集整理的这篇文章主要介绍了AngularJS系列——表达式、常用指令和过滤器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

表达式

1. 使用Angular表达式:
* 语法:{{expression}}
* 作用: 显示表达式的结果数据
* 注意: 表达式中引用的变量必须是当前域对象有的属性(包括其原型属性)
2. 操作的数据
* 基本类型数据:number/string/boolean
* undefined,Infinity,NaN,null解析为空串: "",不显示任何效果
* 对象的属性方法
* 数组
3. 注意:
* 不能使用if/for/while
* 可以三目运算符


常用指令

1. Angular指令
* Angular为HTML页面扩展的: 自定义标签属性标签
* 与Angular的作用域对象(scope)交互,扩展页面的动态表现力
2. 常用指令(一)
* ng-app: 指定模块名,angular管理的区域
* ng-model: 双向绑定,输入相关标签
* ng-init: 初始化数据
* ng-click: 调用作用域对象的方法(点击时)
* ng-controller: 指定控制器构造函数名,内部会自动创建一个新的子作用域(外部的)
* ng-bind解决使用{{}}显示数据闪屏(在很短时间内显示{{}})
* ng-repeat: 遍历数组显示数据, 数组有几个元素就会产生几个新的作用域
* $index,$first,$last,$middle,$odd,$even
* ng-show: 布尔类型, 如果为true才显示
* ng-hide: 布尔类型, 如果为true就隐藏

* ng-class: 动态引用定义的样式{aClass:true,bClass:false}
* ng-style: 动态引用通过js指定的样式对象 {color:'red',background:'blue'}
* ng-click: 点击监听,值为函数调用,可以传$event
* ng-mouseenter: 鼠标移入监听,可以传$event
* ng-mouseleave: 鼠标移出监听,可以传$event

过滤器

1. 作用: 在显示数据时可以对数据进行格式化或过滤
* 单个--->格式化(将别的类型的数据转换为特定格式的字符串)
* 多个----》格式化/过滤
* 不会真正改变被操作数据
* {{express | 过滤器名:补充说明}}
2. 常用内置:
* currency 货币格式化(文本)
* number数值格式化(文本)
* date 将日期对象格式化(文本)
* json: 将js对象格式化为json(文本)
* lowercase : 将字符串格式化为全小写(文本)
* uppercase : 将字符串格式化全大写(文本)

* limitTo 从一个数组或字符串中过滤出一个新的数组或字符串
* limitTo : 3 limitTo : -3
* orderBy : 根据指定作用域属性对数组进行排序
* {{[2,1,4,3] | orderBy}} 升序
* {{[2,3] | orderBy:‘-’}} 降序
* {{[{id:2,price:3},{id:1,price:4}] | orderBy:'id'} id升序
* {{[{id:2,price:4}] | orderBy:'-price'} price降序
* filter : 从数组中过滤返回一个新数组
* {{[{id:22,price:35},{id:23,price:45}] | filter:{id:'3'}} //根据id过滤
* {{[{id:22,price:45}] | filter:{$:'3'}} //根据所有字段过滤
3. 自定义过滤器
* 内置过滤器有限, 有时并不能满足页面显示数据的需求
* 语法:
module.filter('myLimitTo',function(){//filterFactory
return function(value,startIndex,endIndex){
对vlaue进行过滤处理,并return 处理的结果
//不要修改value本身
}
});

表达式、常用指令和过滤器都是AngularJs的语法

原文链接:https://www.f2er.com/angularjs/147388.html

猜你在找的Angularjs相关文章