?
このドキュメントでは、 php中國(guó)語ネットマニュアル リリース
通過expression
來排序指定的array
。 字符串按字母順序排序,數(shù)字按大小排序。注意:如果你發(fā)現(xiàn)數(shù)字沒被正確排序,請(qǐng)確認(rèn)它們保存的是數(shù)字而不是字符串。
{{ orderBy_expression | orderBy : expression : reverse}}
$filter('orderBy')(array, expression, reverse)
參數(shù) | 類型 | 詳述 |
---|---|---|
array | Array | 用于排序的數(shù)組。 |
expression | function(*)stringArray.<(function(*)|string)> |
一個(gè)用于通過比較來決定元素順序的聲明。 可為下列之一:
|
reverse
(可選)
|
boolean | 對(duì)數(shù)組進(jìn)行反向排序。 |
Array | 源數(shù)組排序后的副本。 |
<script>
angular.module('orderByExample', [])
.controller('ExampleController', ['$scope', Function($scope) {
$scope.friends =
[{name:'John', phone:'555-1212', age:10},
{name:'Mary', phone:'555-9876', age:19},
{name:'Mike', phone:'555-4321', age:21},
{name:'Adam', phone:'555-5678', age:35},
{name:'Julie', phone:'555-8765', age:29}];
$scope.predicate = '-age';
}]);
</script>
<div ng-controller="ExampleController">
<pre>Sorting predicate = {{predicate}}; reverse = {{reverse}}</pre>
<hr/>
[ <a href="" ng-click="predicate=''">unsorted</a> ]
<table class="friend">
<tr>
<th><a href="" ng-click="predicate = 'name'; reverse=false">名稱</a>
(<a href="" ng-click="predicate = '-name'; reverse=false">^</a>)</th>
<th><a href="" ng-click="predicate = 'phone'; reverse=!reverse">Phone Number</a></th>
<th><a href="" ng-click="predicate = 'age'; reverse=!reverse">Age</a></th>
</tr>
<tr ng-repeat="friend in friends | orderBy:predicate:reverse">
<td>{{friend.name}}</td>
<td>{{friend.phone}}</td>
<td>{{friend.age}}</td>
</tr>
</table>
</div>
也可以手工調(diào)用orderBy過濾器,通過注入$filter
,使用$filter('orderBy')
獲取過濾器實(shí)例,然后使用所需參數(shù)調(diào)用過濾器實(shí)例。
示例:
<div ng-controller="Ctrl">
<table class="friend">
<tr>
<th><a href="" ng-click="reverse=false;order('name', false)">名稱</a>
(<a href="" ng-click="order('-name',false)">^</a>)</th>
<th><a href="" ng-click="reverse=!reverse;order('phone', reverse)">Phone Number</a></th>
<th><a href="" ng-click="reverse=!reverse;order('age',reverse)">Age</a></th>
</tr>
<tr ng-repeat="friend in friends">
<td>{{friend.name}}</td>
<td>{{friend.phone}}</td>
<td>{{friend.age}}</td>
</tr>
</table>
</div>
angular.module('orderByExample', [])
.controller('ExampleController', ['$scope', '$filter', Function($scope, $filter) {
var orderBy = $filter('orderBy');
$scope.friends = [
{ name: 'John', phone: '555-1212', age: 10 },
{ name: 'Mary', phone: '555-9876', age: 19 },
{ name: 'Mike', phone: '555-4321', age: 21 },
{ name: 'Adam', phone: '555-5678', age: 35 },
{ name: 'Julie', phone: '555-8765', age: 29 }
];
$scope.order = Function(predicate, reverse) {
$scope.friends = orderBy($scope.friends, predicate, reverse);
};
$scope.order('-age',false);
}]);