web-dev-qa-db-ja.com

Angular 2-Observableからリストをソート

sortからのアイテムのリストをObservableし、async pipeを使用できるようにする最良の方法は何ですか? (カスタムソートパイプを作成することは実際には効率的ではないことを読みました)。

//can I use map here and filter items right in the observable and get rid of subscribe?

this.test$ = Observable.of(['one', 'two', 'three'])
    .subscribe((data) => {
        data.sort((a, b) => {
            return a < b ? -1 : 1;
         });
        this.data = data;
     });

テンプレート:

<div *ngFor='let item of data'>
<!-- want to be able to use async pipe here -->
17
Thibs

.subscribe()を呼び出すと、Subscriptionを取得し、非同期パイプはObservableを期待します。

に変更した場合

this.test$ = Observable.of(['one', 'two', 'three'])
.map((data) => {
    data.sort((a, b) => {
        return a < b ? -1 : 1;
     });
    return data;
 });

test$で非同期パイプを使用できます

23