2014-12-03 74 views
0

我想通过三个字段一个简​​单的顺序:按顺序角顺序由众多领域

名称,状态和所有者

直至现在我有这个:

<tr ng-repeat='data in model.tableData|filter:model.search|orderBy:"name":model.sorted.name'> 

(模型在点击时.sorted.name被切换真假的),现在我看到了我需要做这样的事情:

<tr ng-repeat="data in model.tableData|filter:model.search|orderBy:['name','status','owner']"> 

为了应对无线多个字段,但我怎么能改变它,例如, 例如,从真到假的状态,就像我对单个字段所做的那样?

回答

1

您可以使用'!'即:

<tr ng-repeat="data in model|filter:model.search|orderBy:['name','!status','owner']"> 

请演示下面

var app = angular.module('app', []); 
 

 
app.controller('homeCtrl', function($scope) { 
 

 

 
    $scope.model = [{ 
 
     'name': 'a1', 
 
     'status': true, 
 
     'owner': 'as' 
 
    }, { 
 
     'name': 'a1', 
 
     'status': false, 
 
     'owner': 'as' 
 
    }, { 
 
     'name': 'a1', 
 
     'status': false, 
 
     'owner': 'as' 
 
    } 
 

 

 
    ] 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app"> 
 
    <div ng-controller="homeCtrl"> 
 
    <h3> By status reverse </h3> 
 
    <table> 
 
     <tr ng-repeat="data in model|filter:model.search|orderBy:['!status','name','owner']"> 
 
     <td>{{data.status}}|{{data.owner}}| {{data.name}}</td> 
 
     </tr> 
 
    </table> 
 
    <hr/> 
 

 
    <h3> By status</h3> 
 
    <table> 
 
     <tr ng-repeat="data in model|filter:model.search|orderBy:['status','name','owner']"> 
 
     <td>{{data.status}}|{{data.owner}}| {{data.name}}</td> 
 
     </tr> 
 
    </table> 
 
    </div> 
 
</div>