angular学习笔记,十六 -- 过滤器

本篇主要介绍过滤器的基本用法:

过滤器用来对数据进行格式的转换,数据格式的转化与逻辑无关,因此,我们使用过滤器来进行这些操作:

{{expression | filter1:,参数1,参数2... | filter2: 参数1,参数2... }}

expression : 表达式,也就是还没有经过过滤的变量值,相当于普通的 {{}}里面的内容

filter1 : 过滤器的名字,可以是angular内置的过滤器,也可以自定义过滤器(在下一篇里讲解)

参数1,参数2,... : 需要被传递给过滤器函数的参数,可以有多个

过滤器可以通过 "|" 进行多次过滤

下面来看一些angular内置的过滤器的基本用法:

<!DOCTYPE html>
<html ng-app>
<head>
  <title>13.1过滤器</title>
  <meta charset="utf-8">
  <script src="../angular.js"></script>
  <script src="script.js"></script>
</head>
<body>
<div ng-controller="filter">
  <span>{{num | number:2 }}</span>
  <br>
  <span>{{num | number:0 }}</span>
  <br>
  <span>{{num | number:0 | currency }}</span>
  <br>
  <span>{{num | currency }}</span>
  <br>
  <span>{{day | date }}</span>
  <br>
  <span>{{word | uppercase}}</span>
</div>
</body>
</html>
function filter($scope){
    $scope.word  = 'code_bunny';
    $scope.day  = 1302375948026;
    $scope.num  = 12.956;
}

1.{{num | currency }}

currency: 把数字过滤成美元,四舍五入格式化成小数点后两位.

2. {{num | number:0 }}

number: 格式化数字,后面的参数表示格式化时保留小数点后面的个数,0就是不保留小数,1就是取一位,四舍五入

3. {{num | number:0 | currency }}

number | currency : 先格式化数字,再格式化成美元

4. {{word | uppercase}}

uppercase : 将单词的小写转为大写

这里只是举例,还有很多内置的angular过滤器.详细可以看手册

--------------------------------------------------------------------------------------------------------

遗留问题:

1.currency过滤器如果不要格式化到小数点后面2位的话,不知道怎么处理,现在即使给一个没有小数的整数,比如12,它也会格式化为$12.00