2017-02-13 43 views
0

我有一個ng-repeat指令。orderBy沒有正確過濾數字

<tr data-ng-repeat="list in vm.customer.lists | orderBy: list.id track by $index"> 
    <td>[[list.name]]</td> 
    <td>[[list.locations.length]] Location<span data-ng-cloak data-ng-if="list.locations.length !== 1">s</span></td> 
    <td><a data-ng-href="/#/locations/manage/list/edit/[[vm.customer.id]]/[[list.id]]" class="button expand">Manage Locations</a></td> 
</tr> 

我重複3只列出了vm.customer.lists

我試圖通過list.id到至少完成到最大(1,2,3等)

也許我不能ORDERBY list

回答

1

它應該是,

<tr data-ng-repeat="list in vm.customer.lists | orderBy: 'id' "> 

DEMO

var app = angular.module("app", []); 
 
app.controller("ctrl", function($scope) { 
 
    $scope.customer = 
 
     [{ 
 
     id: 4, 
 
     name: 'sachin' 
 
     
 
    }, { 
 
     id: 1, 
 
     name: 'Saurav' 
 
     
 
    }, { 
 
     id: 3, 
 
     name: 'Dravid' 
 
     
 
    }, { 
 
     id: 2, 
 
     name: 'Dhoni' 
 
    
 
    }]; 
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl"> 
 
    <li ng-repeat="list in customer | orderBy: 'id' track by $index"> 
 
    {{list.name}} 
 
    </li> 
 
    
 
</div>

+0

謝謝!這樣可行。 – Josh

+0

標記爲答案,如果它有幫助 – Sajeetharan

0

你缺少濾鏡報價

<tr data-ng-repeat="list in customer.lists | orderBy: 'id' track by $index"> 

var app = angular.module("app", []); 
 
app.controller("ctrl", function($scope) { 
 
    $scope.customer = { 
 
    'lists': [{ 
 
     id: 4, 
 
     name: 'T', 
 
     locations: [] 
 
    }, { 
 
     id: 1, 
 
     name: 'S', 
 
     locations: [] 
 
    }, { 
 
     id: 3, 
 
     name: 'R', 
 
     locations: [] 
 
    }, { 
 
     id: 2, 
 
     name: 'O', 
 
     locations: [] 
 
    }] 
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl"> 
 
    <table> 
 
    <tr data-ng-repeat="list in customer.lists | orderBy: 'id' track by $index"> 
 
     <td>{{list.name}}</td> 
 
     <td>{{list.locations.length}} Location<span data-ng-cloak data-ng-if="list.locations.length !== 1">s</span> 
 
     </td> 
 
     <td><a data-ng-href="/#/locations/manage/list/edit/[[vm.customer.id]]/[[list.id]]" class="button expand">Manage Locations</a> 
 
     </td> 
 
    </tr> 
 
    </table> 
 
</div>