Ho appena preso la demo più semplice da http://docs.angularjs.org/api/ng.filter:orderBy e semplicemente modificare il valore dell'età per avere un numero diverso di cifre. Smette di funzionare come previsto. Il suo ordine come "stringa" non come valore "intero". Come dovrei cambiarlo in modo che ordini per età come valore intero?AngularJS campo intero di ordinamento non funziona correttamente
Plunkr demo è qui http://plnkr.co/edit/pzgiIYrki7jUZdVaTMt9?p=preview
codici sono:
function Ctrl($scope) {
$scope.friends =
[{name:'John', phone:'555-1212', age:'2352345'},
{name:'Mary', phone:'555-9876', age:'4235243'},
{name:'Mike', phone:'555-4321', age:'241'},
{name:'Adam', phone:'555-5678', age:'34325'},
{name:'Julie', phone:'555-8765', age:'1234'}]
$scope.predicate = '-age';
}
<!doctype html>
<html ng-app="App">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.0-rc.2/angular.min.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<div ng-controller="Ctrl">
<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">Name</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>
</body>
</html>
aggiunsi altra risposta che lavorerà per voi –