AngularJS的内置过滤器

内置过滤器使用方法:

一个过滤器,不带参数的情况
{{expression | filter}}

一个过滤器,带参数的情况
{{expression | filter:arguments}}

一个过滤器,带多个参数的情况
{{expression | filter: arg1: arg2: ...}}

多个过滤器,不带参数的情况
{{expression | filter1 | filter2 | ...}}

 

currency

currency允许我们设置自己的货币符号,默认情况下会采用客户端所处区域的货币符号。
可以这样使用:{{ 3600 | currency: "$¥"}}
返回结果为$¥123.00

number

number过滤器将数字格式化成文本,它的参数是可选的,用来控制小数点后的截取位数
如果传入的是一个非数字字符,会返回空字符串
可以这样使用:{{ 3600 | number:2}}
返回结果为:3,600.00

{{ 3.1415926 | number:2 }} -> 3.14

{{ -3.1415926 | number:2 }}->

lowercase

lowercase将字符串转换为小写
可以这样使用:{{ "HEllo" | lowercase}}
返回结果为:hello

uppercase

uppercase将字符串转换为大写
可以这样使用:{{ "HEllo" | uppercase}}
返回结果为:HELLO

json

json过滤器可以将一个JSON或者JavaScript对象转换成字符串。
这个过滤器对调试相当有用
可以这样使用:{{ {"name":"dreamapple","language":"AngularJS"} | json}}
返回结果为:{ "name": "dreamapple", "language": "AngularJS" }

date

date过滤器将日期过滤成你想要的格式,这个实在是很好的过滤器。
这个过滤器用法很多我这里列举几种常用的
{{ today | date: "yyyy - mm - dd"}}
结果为:2015 - 15 - 13
{{ today | date: "yyyy - mm - dd HH:mm::ss"}}
结果为:2015 - 18 - 13 20:18::38

orderBy

 排列

{{[{name:'coolcao',age:23},{name:'lily',age:20},{name:'tom',age:22}] | orderBy:'age'}}

结果: [{"name":"lily","age":20},{"name":"tom","age":22},{"name":"coolcao","age":23}]

默认是升序排列,如果要降序

{{[{name:'coolcao',age:23},{name:'lily',age:20},{name:'tom',age:22}] | orderBy:'age':true}}

参数是数组的 age 相同的 按 name排序  

{{[{name:'coolcao',age:23},{name:'lily',age:20},{name:'tom',age:22}] | orderBy:['age','name']}}

filter

function(array, expression, comparator)
 指定comparator为false或者undefined,即为默认值可不传,将以大小写不敏感的方式匹配任意内容 comparator为true,true即大小写及内容均需完全匹配 

filter可以根据条件过滤数据

匹配属性值中 含有coolcao的

{{[{name:'coolcao',age:23},{name:'lily',age:20},{name:'tom',age:22}] | filter:'coolcao'}}

结果为:[{"name":"coolcao","age":23}]

匹配 age 属性值中 含有22的

{{[{name:'coolcao',age:23},{name:'lily',age:20},{name:'tom',age:22}] | filter:{age : 22}}

结果为:[{"name":"tom","age":22}]

匹配函数  age属性值大于 22 的 

$scope.func=function(e){return e.age>22;}

{{[{name:'coolcao',age:23},{name:'lily',age:20},{name:'tom',age:22}] | filter:func}

结果为:[{"name":"coolcao","age":23}]

 

 

自定义过滤器

filter的自定义方式也很简单,使用module的filter方法,返回一个函数,该函数接收输入值,并返回处理后的结果。话不多说,我们来写一个看看。比如我需要一个过滤器,它可以返回一个数组中下标为奇数的元素,代码如下:

app.filter('odditems',function(){return function(inputArray){var array = [];for(var i=0;iif(i%2!==0){ array.push(inputArray[i]); } } return array; } });


转载于:https://www.cnblogs.com/lvzhihui/p/4938357.html


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部