AngularJS orderBy 過濾器
定義和用法
orderBy
過濾器允許我們對數組進行排序。
默認情況下,字符串按字母順序排序,數字按數字順序排序。
相關頁面
AngularJS 教程:Angular 過濾器
實例
例子 1
按字母順序顯示項目:
<div ng-app="myApp" ng-controller="orderCtrl"> <ul> <li ng-repeat="x in cars | orderBy">{{x}}</li> </ul> </div> <script> var app = angular.module('myApp', []); app.controller('orderCtrl', function($scope) { $scope.cars = ["Dodge", "Fiat", "Audi", "Volvo", "BMW", "Ford"]; }); </script>
例子 2
按 "city" 對數組進行排序: <div ng-app="myApp" ng-controller="orderCtrl"> <ul> <li ng-repeat="x in customers | orderBy : 'city'">{{x.name + ", " + x.city}}</li> </ul> </div> <script> var app = angular.module('myApp', []); app.controller('orderCtrl', function($scope) { $scope.customers = [ {"name" : "Bottom-Dollar Marketse" ,"city" : "Tsawassen"}, {"name" : "Alfreds Futterkiste", "city" : "Berlin"}, {"name" : "Bon app", "city" : "Marseille"}, {"name" : "Cactus Comidas para llevar", "city" : "Buenos Aires"}, {"name" : "Bolido Comidas preparadas", "city" : "Madrid"}, {"name" : "Around the Horn", "city" : "London"}, {"name" : "B's Beverages", "city" : "London"} ]; }); </script>
例子 3
按 "city" 對數組進行降序排序: <div ng-app="myApp" ng-controller="orderCtrl"> <ul> <li ng-repeat="x in customers | orderBy : '-city'">{{x.name + ", " + x.city}}</li> </ul> </div> <script> var app = angular.module('myApp', []); app.controller('orderCtrl', function($scope) { $scope.customers = [ {"name" : "Bottom-Dollar Marketse" ,"city" : "Tsawassen"}, {"name" : "Alfreds Futterkiste", "city" : "Berlin"}, {"name" : "Bon app", "city" : "Marseille"}, {"name" : "Cactus Comidas para llevar", "city" : "Buenos Aires"}, {"name" : "Bolido Comidas preparadas", "city" : "Madrid"}, {"name" : "Around the Horn", "city" : "London"}, {"name" : "B's Beverages", "city" : "London"} ]; }); </script>
語法
{{ array | orderBy : expression : reverse }}
參數
參數 | 描述 |
---|---|
expression |
用于確定順序的表達式。表達式可以是以下類型: 字符串:如果數組是對象數組,則可以按對象屬性之一的值對數組進行排序。請參閱上面的示例。 函數:您可以創建一個函數來組織排序。 數組:如果需要多個對象屬性來確定排序順序,請使用數組。數組項可以是字符串和函數。 |
reverse | 可選。如果要反轉數組的順序,請設置為 true。 |