AngularJS学习之路——过滤器(1)

过滤器

过滤器用来格式化需要展示给用户的数据。
使用方法:通过 | 进行数据的格式化。
拿这个{{ name | uppercase }}举例,| 前面是需要过滤的内容,| 后面是过滤的规则,这个过滤器的意思是将前面name数据进行大写转换。

内置过滤器

currency、date、filter、json、limitTo、lowercase、uppercase、number、orderBy

1.currency

currency过滤器可以将一个数值格式化为货币格式。

{{ 123 | currency }}             
{{ 123 | currency:'¥' }}        

2.date

date过滤器可以将日期格式化成需要的格式。

js:
$scope.today = new Date().getTime();

html:
{{ today | date:'medium' }} 
{{ today | date:'short' }} 
{{ today | date:'fullDate' }} 
{{ today | date:'longDate' }} 
{{ today | date:'mediumDate' }}
{{ today | date:'shortDate' }} 
{{ today | date:'mediumTime' }}
{{ today | date:'shortTime' }} 
  • 年份格式化
四位年份:{{ today | date:'yyyy' }} 
两位年份:{{ today | date:'yy' }} 
一位年份:{{ today | date:'y' }} 
  • 月份格式化
英文月份:{{ today | date:'MMMM' }} 
英文月份简写:{{ today | date:'MMM' }} 
数字月份:{{ today |date:'MM' }} 
一年中的第几个月份:{{ today |date:'M' }} 
  • 日期格式化
数字日期:{{ today|date:'dd' }} 
一个月中的第几天:{{ today | date:'d' }} 
英文星期:{{ today | date:'EEEE' }} 
英文星期简写:{{ today | date:'EEE' }} 
  • 小时格式化
24小时制数字小时:{{today|date:'HH'}} 
一天中的第几个小时:{{today|date:'H'}} 
12小时制数字小时:{{today|date:'hh'}} 
上午或下午的第几个小时:{{today|date:'h'}} 
  • 分钟格式化
数字分钟数:{{ today | date:'mm' }} 
一个小时中的第几分钟:{{ today | date:'m' }} 
  • 秒数格式化
数字秒数:{{ today | date:'ss' }} 
一分钟内的第几秒:{{ today | date:'s' }} 
毫秒数:{{ today | date:'.sss' }} 
  • 字符格式化
上下午标识:{{ today | date:'a' }} 
四位时区标识:{{ today | date:'Z' }} 
  • 自定义日期格式
{{ today | date:'MMMd, y' }} 
{{ today | date:'EEEE, d, M' }} 
{{ today | date:'hh:mm:ss.sss' }} 

3.filter

filter过滤器可以从给定数组中选择一个子集,并将其生成一个新数组返回。这个过滤器通常用来过滤需要进行展示的元素。

4.json

son过滤器可以将一个JSON或JavaScript对象转换成字符串。

{{ {'name': 'Ari', 'City': 'SanFrancisco'} | json }}

5.limitTo

limitTo过滤器会根据传入的参数生成一个新的数组或字符串,新的数组或字符串的长度取决于传入的参数,通过传入参数的正负值来控制从前面还是从后面开始截取。

{{ San Francisco is very cloudy | limitTo:3 }}


{{ San Francisco is very cloudy | limitTo:-6 }}


{{ ['a','b','c','d','e','f'] | limitTo:1 }}

6.lowercase

lowercase过滤器将字符串转为小写。

7.uppercase

uppercase过滤器将字符串转为大写。

8.number

number过滤器将数字格式化成文本。它的第二个参数是可选的,用来控制小数点后截取的位数(如果传入了一个非数字字符,会返会空字符串)。

{{ 123456789 | number }}


{{ 1.234567 | number:2 }}

9.orderBy

orderBy过滤器可以用表达式对指定的数组进行排序。
orderBy可以接受两个参数,第一个是必需的,第二个是可选的。
第一个参数是用来确定数组排序方向的谓词。

第一个参数的类型

  • 函数
    当第一个参数是函数时,该函数会被当作待排序对象的getter方法。
  • 字符串
    对这个字符串进行解析的结果将决定数组元素的排序方向。我们可以传入+或-来强制进行升序或降序排列。
  • 数组
    在排序表达式中使用数组元素作为谓词。对于与表达式结果并不严格相等的每个元素,则使用第一个谓词。

第二个参数用来控制排序的方向(是否逆向)。

{{ [{
   'name': 'Ari',
   'status': 'awake'
   },{
   'name': 'Q',
   'status': 'sleeping'
   },{
   'name': 'Nate',
   'status': 'awake'
   }] | orderBy:'name' }}


第二个参数为true时

你可能感兴趣的:(AngularJS学习之路——过滤器(1))