【AngularJS 學習筆記】AngularJS 過濾器

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

    AngularJS 過濾器可用於轉換數據:

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

 

 

 

 

 

 

 

二、表達式中添加過濾器

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

    (下面的兩個實例,我們將使用前面章節中提到的 person 控制器)

    uppercase 過濾器將字符串格式化爲大寫,lowercase 過濾器將字符串格式化爲小寫:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="//cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>

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

<p>姓名爲 {{ lastName | uppercase }}</p>
<p>姓名爲 {{ lastName | lowercase }}</p>


</div>

<script src="//www.runoob.com/try/demo_source/personController.js"></script>

</body>
</html>

在線編輯運行

 

三、currency 過濾器

    currency 過濾器將數字格式化爲貨幣格式:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>

<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>

<script>
var app = angular.module('myApp', []);
app.controller('costCtrl', function($scope) {
    $scope.quantity = 1;
    $scope.price =9.99;
});
</script>

</body>
</html>

在線編輯運行

 

四、向指令添加過濾器

    過濾器可以通過一個管道字符(|)和一個過濾器添加到指令中。

    orderBy 過濾器根據表達式排列數組:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>

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

<p>循環對象:</p>
<ul>
  <li ng-repeat="x in names | orderBy:'country'">
    {{ x.name + ', ' + x.country }}
  </li>
</ul>

</div>

<script src="//www.runoob.com/try/demo_source/namesController.js"></script>

</body>
</html>

在線編輯運行

 

五、過濾輸入

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

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

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>

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

<p>輸入過濾:</p>

<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>

<script src="//www.runoob.com/try/demo_source/namesController.js"></script>

</body>
</html>

在線編輯運行

 

 

六、自定義過濾器

    以下實例自定義一個過濾器 reverse,將字符串反轉:

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>

<body>

<div ng-app="myApp" ng-controler="myCtrl">

姓名:{{ msg | reverse }}

</div>

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

</body>
</html>

在線編輯運行

 

轉載來源:https://www.runoob.com/angularjs/angularjs-filters.html

版權說明:如有侵權,聯繫刪除!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章