【发布时间】:2018-12-18 22:24:38
【问题描述】:
在 RxJs 中实现分页解决方案的最佳方式是什么?
如果想要有一个基于事件(可能是点击或 JavaScript 函数调用)发出新数据的 observable。例如,如果我有一个 Observable 从 Web API 检索数据,并且我不希望它继续敲击 HTTP 请求,我只希望在订阅者触发的事件上发生这种情况。场景可以是无限滚动(滚动触发事件)、经典分页(用户点击下一页触发事件)等。
【问题讨论】:
-
pageChange$.pipe(switchMap(page => getItems(page)))将是一个开始,pageChange$是Subject<number> -
谢谢大家,添加了一个基于较新版本 RxJs 的工作示例
-
我一直只使用 take(itemsInPage) 和 skip(previousRows) 的组合。或者你可以在你的 api 端实现分页,然后在你的 UI 中忘记它。
标签: javascript typescript rxjs