What is the best way to sort
a list of items coming from an Observable
and still be able to use the async pipe
? (I read that making a custom sort pipe is not really efficient.) I want to avoid subscribing and keeping a local copy of data and thus just using 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; });
template:
<div *ngFor='let item of data'> <!-- want to be able to use async pipe here -->
If you call .subscribe()
you get a Subscription
, the async pipe expects an Observable
.
If you change it to
this.test$ = Observable.of(['one', 'two', 'three']) .map((data) => { data.sort((a, b) => { return a < b ? -1 : 1; }); return data; });
you can use the async pipe with test$
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With