我是Angular2和RxJS的新手。
我已经设置了一个http服务,基本上给我一个'Observable'。
我将Observable保存在名为items的变量中
items : Observable
。
我的模板(现在)只显示内容
<ul>
<li *ngFor="#item in items | async>{{item.name}} | {{item.group}}</li>
</ul>
这很有效。
我现在处于我想要对项目进行排序的位置 - 基于点击处理程序的名称或组。但是,我认为无法对Observable中保存的数组进行排序。
感谢任何帮助。
感谢。
答案 0 :(得分:11)
我假设您有另一个代表您想要排序的当前属性的observable:
const sortProperty$ = /* an observable of string values */
您可以在此流和combineLatest
流上执行items$
(因此我们会获得最新的排序和列表值)。然后,我们可以使用此信息创建一个新流,它将发出我们的排序列表:
const sortedItems$ = Rx.Observable.combineLatest(sortProperty$, items$, (prop, items) => {
return _.orderBy(items, prop);
});