過(guò)濾器
過(guò)濾器用來(lái)格式化需要展示給用戶(hù)的數(shù)據(jù)
調(diào)用方式:
- 在HTML中調(diào)用——在{{ }}中通過(guò)|符號(hào)來(lái)調(diào)用。
如果需要傳遞參數(shù)給過(guò)濾器,只要在過(guò)濾器名字后面加冒號(hào)
{{ name | uppercase }} // 使用內(nèi)置過(guò)濾器uppercase將字符串name轉(zhuǎn)換成大寫(xiě)
- 在JS中調(diào)用
app.controller('ControllerName', ['$scope', '$filter',
function($scope, $filter) {
$scope.name = $filter('lowercase')('Ari');
}]);
AngularJS提供的內(nèi)置過(guò)濾器
- currency:將一個(gè)數(shù)值過(guò)濾為貨幣格式
- date:將日期格式為需要的格式,AngularJS中內(nèi)置了幾種日期格式,如果沒(méi)有指定使用任何格式,默認(rèn)會(huì)采用mediumDate格式
// index.html
<div ng-controller="myCtrl">
{{ today | date:'xxxx' }}
</div>
// app.js
app.controller('myCtrl', function($scope) {
$scope.today = new Date(2009, 1, 2, 7, 8, 9 , 27);
});
本地化日期格式
date:'medium': Feb 2, 2009 7:08:09 AM
date:'short': 2/2/09 7:08 AM
date:'fullDate': Monday, February 2, 2009
date:'longDate': February 2, 2009
date:'mediumDate': Feb 2, 2009
date:'shortDate': 2/2/09
date:'mediumTime': 7:08:09 AM
date:'shortTime': 7:08 AM
年份格式化
date:'yyyy': 2009
date:'yy': 09
date:'y': 2009
月份格式化
date:'MMMM'(英文月份): February
date:'MMM'(英文月份簡(jiǎn)寫(xiě)): Feb
date:'MM'(數(shù)字月份): 02
date:'M'(數(shù)字月份不補(bǔ)0): 2
日期格式化
date:'dd'(數(shù)字日期): 02
date:'d'(數(shù)字日期不補(bǔ)0): 2
date:'EEEE'(英文星期): Monday
date:'EEE'(英文星期簡(jiǎn)寫(xiě)): Mon
小時(shí)格式化
date:'HH'(24制數(shù)字小時(shí)): 07
date:'H'(24制不補(bǔ)0): 7
date:'hh'(12制數(shù)字小時(shí)): 07
date:'h'(12制不補(bǔ)0): 7
分鐘格式化
date:'mm'(數(shù)字分鐘數(shù)): 08
date:'m'(數(shù)字分鐘數(shù)不補(bǔ)0): 8
秒數(shù)格式化
date:'ss'(數(shù)字秒數(shù)): 09
date:'s'(數(shù)值秒數(shù)不補(bǔ)0): 9
date:'.sss'(毫秒數(shù)): .027
字符格式化
date:'a'(上下午標(biāo)識(shí)): AM
date:'Z'(四位時(shí)區(qū)標(biāo)識(shí)): +0800
- filter:從給定數(shù)組中選擇一個(gè)子集,并將其生成一個(gè)新數(shù)組返回。過(guò)濾器的第一個(gè)參數(shù)可以是字符串、對(duì)象或是一個(gè)用來(lái)從數(shù)組中選擇元素的函數(shù)
- json:將一個(gè)JSON或JavaScript對(duì)象轉(zhuǎn)換成字符串
- limitTo:根據(jù)傳入的參數(shù)生成一個(gè)新的數(shù)組或字符串,其長(zhǎng)度為傳入的參數(shù)。
參數(shù)為正從前面截?。粎?shù)為負(fù)則從后面截??;若參數(shù)大于字符長(zhǎng)度,則返回整個(gè)字符串 - lowercase, uppercase:大小寫(xiě)轉(zhuǎn)換
- number:將數(shù)字格式化成文本。如果傳入了一個(gè)非數(shù)字字符,會(huì)返會(huì)空字符串。
- orderBy:對(duì)指定的數(shù)組進(jìn)行排序