[英]angularJs multiple orderBy
我正在AngularJs中使用orderBy功能。 我的要求是將姓氏按升序排序,並將名稱列按降序排序。 我可以使用'+'和'-'來解決相同的問題。 但是我想要一些動態機制來解決這個問題。 無論如何,我是否可以利用angularjs解決問題,還是應該繼續編寫自己的自定義排序功能?
<tr ng-repeat="contact in contacts | orderBy:['surname','name']:true">
正如我之前在下面的代碼中所述,此代碼可以解決此問題,
<tr ng-repeat="contact in contacts | orderBy:['-surname','+name']">
但是,這里的surname屬性將始終對表進行排序,並且其asc / dec會動態更改。
<tr ng-repeat="contact in contacts | orderBy:['+salary','+name']">
<tr ng-repeat="contact in contacts | orderBy:['-age','+name']">
您可以使用$ scope中的值來更改ng-repeat的by子句的順序。 將ng-repeat中的orderOptions作用域變量用於orderBy過濾器。
<tr ng-repeat="contact in contacts | orderBy:orderOptions">
在控制器范圍內設置orderOptions。
$scope.orderOptions = ['+salary','+name']
您可以在需要時使用函數更新oderOptions。 表的排序順序將相應更新。
$scope.orderOptions = ['-age','+name']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.