簡體   English   中英

angularJs多重訂購

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM