OrderBy pipe problème

Je ne suis pas en mesure de traduire ce code à partir de Angualr 1 Angulaire 2:

ng-repeat="todo in todos | orderBy: 'completed'"

C'est ce que j'ai fait à la suite de la Thierry Templier réponse:

Modèle de composant:

*ngFor="#todo of todos | sort"

Code de composant:

@Component({
    selector: 'my-app',
    templateUrl: "./app/todo-list.component.html",
    providers: [TodoService],
    pipes: [ TodosSortPipe ]

})

Pipe code:

import { Pipe } from "angular2/core";
import {Todo} from './todo';

@Pipe({
  name: "sort"
})
export class TodosSortPipe {
  transform(array: Array<Todo>, args: string): Array<Todo> {
    array.sort((a: any, b: any) => {
      if (a < b) {
        return -1;
      } else if (a > b) {
        return 1;
      } else {
        return 0;
      }
    });
    return array;
  }
}

Je suis en train de trier un tableau de Todos, commandé par la propriété completed. Première todo.completed = false et puis le todo.complete = true.

Je ne comprends pas très bien la transform méthode et comment passer des arguments dans la méthode et dans le sort méthode.

Quel est le args: string argument? Quelles sont a et b et d'où viennent-ils?

InformationsquelleAutor | 2016-02-02