天天看點

AngularJS 過濾器

過濾器可以使用一個管道字元(|)添加到表達式和指令中。

AngularJS 過濾器可用于轉換資料:

過濾器 描述 currency 格式化數字為貨币格式。 filter 從數組項中選擇一個子集。 lowercase 格式化字元串為小寫。 orderBy 根據某個表達式排列數組。 uppercase 格式化字元串為大寫。

過濾器可以通過一個管道字元(|)和一個過濾器添加到表達式中。.

(下面的兩個執行個體,我們将使用前面章節中提到的 person 控制器)

uppercase 過濾器将字元串格式化為大寫:

<div ng-app="myApp" ng-controller="personCtrl">

<p>姓名為 {{ lastName | uppercase }}</p>

</div>

lowercase 過濾器将字元串格式化為小寫:

<p>姓名為 {{ lastName | lowercase }}</p>

currency 過濾器将數字格式化為貨币格式:

<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 過濾器根據表達式排列數組:

<div ng-app="myApp" ng-controller="namesCtrl">

<ul>

  <li ng-repeat="x in names | orderBy:'country'">

    {{ x.name + ', ' + x.country }}

  </li>

</ul>

輸入過濾器可以通過一個管道字元(|)和一個過濾器添加到指令中,該過濾器後跟一個冒号和一個模型名稱。

filter 過濾器從數組中選擇一個子集:

<p><input type="text" ng-model="test"></p>

  <li ng-repeat="x in names |

filter:test | orderBy:'country'">

    {{ (x.name | uppercase) + ', ' + x.country }}

以下執行個體自定義一個過濾器 reverse,将字元串反轉:

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("");

}