AngularJS 過濾器
過濾器可以使用一個管道字符(|)添加到表達式和指令中。
AngularJS 過濾器
AngularJS 過濾器可用於轉換數據:
過濾器 | 描述 |
---|---|
currency | 格式化數字為貨幣格式。 |
filter | 從數組項中選擇一個子集。 |
lowercase | 格式化字符串為小寫。 |
orderBy | 根據某個表達式排列數組。 |
uppercase | 格式化字符串為大寫。 |
表達式中添加過濾器
過濾器可以通過一個管道字符(|)和一個過濾器添加到表達式中。.
(下麵的兩個實例,我們將使用前麵章節中提到的 person 控製器)
uppercase 過濾器將字符串格式化為大寫:
AngularJS 實例
<div ng-app="myApp" ng-controller="personCtrl">
<p>姓名為 {{ lastName | uppercase }}</p>
</div>
<p>姓名為 {{ lastName | uppercase }}</p>
</div>
嚐試一下 »
lowercase 過濾器將字符串格式化為小寫:
AngularJS 實例
<div ng-app="myApp" ng-controller="personCtrl">
<p>姓名為 {{ lastName | lowercase }}</p>
</div>
<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>
</div>
<input type="number" ng-model="quantity">
<input type="number" ng-model="price">
<p>總價 = {{ (quantity * price) | currency }}</p>
</div>
嚐試一下 »
向指令添加過濾器
過濾器可以通過一個管道字符(|)和一個過濾器添加到指令中。
orderBy 過濾器根據表達式排列數組:
AngularJS 實例
<div ng-app="myApp" ng-controller="namesCtrl">
<ul>
<li ng-repeat="x in names | orderBy:'country'">
{{ x.name + ', ' + x.country }}
</li>
</ul>
</div>
<ul>
<li ng-repeat="x in names | orderBy:'country'">
{{ x.name + ', ' + x.country }}
</li>
</ul>
</div>
嚐試一下 »
過濾輸入
輸入過濾器可以通過一個管道字符(|)和一個過濾器添加到指令中,該過濾器後跟一個冒號和一個模型名稱。
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>
</div>
<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>
</div>
嚐試一下 »
自定義過濾器
以下實例自定義一個過濾器 reverse,將字符串反轉:
AngularJS 實例
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.msg = "Runoob";
});
app.filter('reverse', function() { //可以注入依賴
return function(text) {
return text.split("").reverse().join("");
}
});
嚐試一下 »
Qyizos
Qyi***@163.com
1、uppercase,lowercase 大小寫轉換
2、date 格式化
3、number 格式化(保留小數)
4、currency貨幣格式化
5、filter查找
輸入過濾器可以通過一個管道字符(|)和一個過濾器添加到指令中,該過濾器後跟一個冒號和一個模型名稱。
filter 過濾器從數組中選擇一個子集
6、limitTo 截取
7、orderBy 排序
嚐試一下 »
Qyizos
Qyi***@163.com
修行
110***2728@qq.com
過濾器實例:
嚐試一下 »
修行
110***2728@qq.com
iceluo
175***536@qq.com
自定義過濾器 -- 多參數
具體的操作就是在調用的時候用":參數" 的格式在後麵追加即可
嚐試一下 »
iceluo
175***536@qq.com
學習的孩子
Kee***Xue@163.com
參考地址
date過濾器的功能是基於要求的格式格式化一個日期成為一個字符串。
格式化字符串的基本參數:
上麵這些參數我們可以根據自己的意願自由組合得到自己想要的格式,例如 yyyy-MM-dd 等。
格式化字符串也提供了一些預定義的本地化格式,可以方便我們使用:
格式化字符串可以包含文本值。這些需要被單引號包圍(例如 "h 'in the morning'"),如果想輸出一對單引號,就在一個序列中用兩個雙引號(例如:"h 'o''clock'")
date過濾器的用法:
1.在html中用法:{{ date_expression | date : format : timezone}}
實例:
嚐試一下 »
2.在javascript中的用法:$filter('date')(date, format, timezone)
實例:
嚐試一下 »
學習的孩子
Kee***Xue@163.com
參考地址