Então, o livro vem da API do resto e tem muitos leitores conectados. Eu quero pegar o leitor “recente”.
O campo created_at
tem o valor que identifica o usuário como recente. Mas o código acima me dá o leitor mais antigo. Então a ordem precisa ser invertida? Existe alguma maneira de ter a sorting em ordem decrescente?
De acordo com a documentação, você pode usar o argumento reverse
.
filter:orderBy(array, expression[, reverse]);
Altere seu filtro para:
orderBy: 'created_at':true
Você pode prefixar o argumento em orderBy
com um ‘-‘ para ter ordem decrescente em vez de ascendente. Eu escreveria assim:
Isso também é indicado na documentação do filtro orderBy .
Talvez isso possa ser útil para alguém:
No meu caso, eu estava recebendo uma matriz de objects, cada um contendo uma data definida pelo Mongoose.
Eu usei:
ng-repeat="comment in post.comments | orderBy : sortComment : true"
E definiu a function:
$scope.sortComment = function(comment) { var date = new Date(comment.created); return date; };
Isso funcionou para mim.
E um exemplo de código:
- {{item.num}} :: {{item.desc}}
E o JavaScript:
function FooController($scope) { $scope.items = [ {desc: 'a', num: 1}, {desc: 'b', num: 2}, {desc: 'c', num: 3}, ]; }
Darei à você:
3 :: c 2 :: b 1 :: a
No JSFiddle: http://jsfiddle.net/agjqN/
Classificar por data
Isso ajudará a filtrar registros com data em ordem decrescente.
$scope.logData = [ { event: 'Payment', created_at: '04/05/17 6:47 PM PST' }, { event: 'Payment', created_at: '04/06/17 12:47 AM PST' }, { event: 'Payment', created_at: '04/05/17 1:50 PM PST' } ]; {{logs.event}}
No meu caso, o orderBy é determinado por uma checkbox de seleção. Eu prefiro a resposta de Ludwig porque você pode definir a direção de sorting nas opções de seleção como tal:
$scope.options = [ { label: 'Title', value: 'title' }, { label: 'Newest', value: '-publish_date' }, { label: 'Featured', value: '-featured' } ];
marcação:
veja amostras de w3schools: https://www.w3schools.com/angular/angular_filters.asp https://www.w3schools.com/angular/tryit.asp?filename=try_ng_filters_orderby_click
em seguida, adicione o sinalizador “reverso”:
Click the table headers to change the sorting order:
Name Country {{x.name}} {{x.country}}