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