Angular 2 - 来自Observable

时间:2016-12-19 14:27:33

标签: angular rxjs5

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

1 个答案:

答案 0 :(得分:22)

如果您致电[^0-9.\-]获得.subscribe(),则异步管道需要Subscription

如果您将其更改为

Observable

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

的异步管道