Ordre décroissant par date filtre dans AngularJs

Donc, le livre vient de rest api et il a de nombreux lecteurs attachés. Je veux obtenir le lecteur «récent».

Le champ created_at a la valeur qui identifie l’utilisateur comme récent. Mais le code ci-dessus me donne le lecteur le plus âgé. Donc l’ordre doit être inversé? Y a-t-il un moyen d’avoir le sorting dans l’ordre décroissant?

Selon la documentation, vous pouvez utiliser l’argument reverse .

 filter:orderBy(array, expression[, reverse]); 

Changez votre filtre pour:

 orderBy: 'created_at':true 

Vous pouvez préfixer l’argument dans orderBy avec un ‘-‘ pour avoir un ordre décroissant plutôt que croissant. Je l’écrirais comme ceci:

 

Ceci est également indiqué dans la documentation de la commande de filtrePar .

Cela peut être utile pour quelqu’un:

Dans mon cas, je recevais un tableau d’objects, chacun contenant une date définie par Mongoose.

J’ai utilisé:

 ng-repeat="comment in post.comments | orderBy : sortComment : true" 

Et défini la fonction:

 $scope.sortComment = function(comment) { var date = new Date(comment.created); return date; }; 

Cela a fonctionné pour moi.

Et un exemple de code:

 
  • {{item.num}} :: {{item.desc}}

Et le JavaScript:

 function FooController($scope) { $scope.items = [ {desc: 'a', num: 1}, {desc: 'b', num: 2}, {desc: 'c', num: 3}, ]; } 

Te donnera:

 3 :: c 2 :: b 1 :: a 

Sur JSFiddle: http://jsfiddle.net/agjqN/

Descendant Trier par date

Cela aidera à filtrer les enregistrements avec la date dans l’ordre décroissant.

 $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}}

Dans mon cas, le orderBy est déterminé par une case de sélection. Je préfère la réponse de Ludwig car vous pouvez définir le sens du sorting dans les options sélectionnées en tant que telles:

  $scope.options = [ { label: 'Title', value: 'title' }, { label: 'Newest', value: '-publish_date' }, { label: 'Featured', value: '-featured' } ]; 

balisage:

  

voir les exemples de w3schools: https://www.w3schools.com/angular/angular_filters.asp https://www.w3schools.com/angular/tryit.asp?filename=try_ng_filters_orderby_click

puis ajoutez le drapeau “reverse”:

     

Click the table headers to change the sorting order:

Name Country
{{x.name}} {{x.country}}