Lo que estoy tratando de hacer es ordenar algunos datos por propiedad. Aquí hay un ejemplo que debería funcionar, pero no funciona.
Parte HTML:
<div ng-app='myApp'>
<div ng-controller="controller">
<ul>
<li ng-repeat="(key, value) in testData | orderBy:'value.order'">
{{value.order}}. {{key}} -> {{value.name}}
</li>
</ul>
</div>
</div>
Parte JS:
var myApp = angular.module('myApp', []);
myApp.controller('controller', ['$scope', function ($scope) {
$scope.testData = {
C: {name:"CData", order: 1},
B: {name:"BData", order: 2},
A: {name:"AData", order: 3},
}
}]);
Y el resultado:
- A -> AData
- B -> BData
- C -> CData
... que en mi humilde opinión debería verse así:
- C -> CData
- B -> BData
- A -> AData
¿Me perdí algo (aquí está JSFiddle listo para experimentar)?
fuente
{1:'Example 1', 2:'Example 2', 3:'Example 3', ...}
for(var objectKey in input) { input[objectKey]['_key'] = objectKey; array.push(input[objectKey]); }
así podemos usar<div ng-repeat="value in object | orderObjectBy:'order'" ng-init="key = value['_key']">
... | orderBy: 'name'
.