AngularJS 过滤器可用于转换数据:
|
过滤器
|
描述
|
|
currency
|
格式化数字为货币格式。
|
|
filter
|
从数组项中选择一个子集。
|
|
lowercase
|
格式化字符串为小写。
|
|
orderBy
|
根据某个表达式排列数组。
|
|
uppercase
|
格式化字符串为大写。
|
表达式中添加过滤器
过滤器可以通过一个管道字符(|)和一个过滤器添加到表达式中。.
(下面的两个实例,我们将使用前面章节中提到的 person 控制器)
uppercase
过滤器将字符串格式化为大写:
AngularJS 实例
<
div
ng-app=
"myApp"
ng-controller=
"personCtrl"
>
<
p
>
姓名为
{{ lastName | uppercase }}
<
/p
>
尝试一下 »
lowercase
过滤器将字符串格式化为小写:
AngularJS 实例
<
div
ng-app=
"myApp"
ng-controller=
"personCtrl"
>
<
p
>
姓名为
{{ lastName | lowercase }}
<
/p
>
<
/div
>
尝试一下 »
currency 过滤器
currency
过滤器将数字格式化为货币格式:
AngularJS 实例
<
div
ng-app=
"myApp"
ng-controller=
"costCtrl"
>
<
input
type=
"number"
ng-model=
"quantity"
>
<
input
type=
"number"
ng-model=
"price"
>
<
p
>
总价 =
{{ (quantity * price) | currency }}
<
/p
>
尝试一下 »
向指令添加过滤器
过滤器可以通过一个管道字符(|)和一个过滤器添加到指令中。
orderBy
过滤器根据表达式排列数组:
AngularJS 实例
<
div
ng-app=
"myApp"
ng-controller=
"namesCtrl"
>
<
li
ng-repeat=
"x in names | orderBy:'country'"
>
{{ x.name + ', ' + x.country }}
<
/li
>
<
/ul
>
尝试一下 »
输入过滤器可以通过一个管道字符(|)和一个过滤器添加到指令中,该过滤器后跟一个冒号和一个模型名称。
filter
过滤器从数组中选择一个子集:
AngularJS 实例
<
div
ng-app=
"myApp"
ng-controller=
"namesCtrl"
>
<
p
>
<
input
type=
"text"
ng-model=
"test"
>
<
/p
>
<
ul
>
<
li
ng-repeat=
"x in names |
filter:test
| orderBy:'country'"
>
{{ (x.name | uppercase) + ', ' + x.country }}
<
/li
>
<
/ul
>
尝试一下 »
自定义过滤器
以下实例自定义一个过滤器
reverse
,将字符串反转:
AngularJS 实例
var
app
=
angular
.
module
(
'
myApp
'
,
[
]
)
;
app
.
controller
(
'
myCtrl
'
,
function
(
$
scope
)
{
$
scope
.
msg
=
"
Runoob
"
;
}
)
;
app
.
filter
(
'
reverse
'
,
function
(
)
{
尝试一下 »