【发布时间】:2019-08-17 21:34:48
【问题描述】:
我正在构建简单的 Angular 应用程序来显示来自 Star Wars API 的数据。我想使用自定义范围(每页 5,10 或 20 个元素)创建分页。 API 在单个请求中仅返回 10 个元素,那么如果用户可以将范围从默认的每页 10 条更改为 20 条记录,如何准备要显示的数据?我应该在显示视图之前遍历 API 并存储所有可能的数据吗?在这种情况下,Angular 方式是什么?
【问题讨论】:
-
您可以在 Angular 中使用带有表格的分页器来实现这一点。您可以查看 Primeng、ngZorro、Angular 材料的分页器
-
Thx @SebaCherian 这是视图的绝佳解决方案 :) 但是数据呢? API 每个请求只返回 10 条记录?
-
对于您的自定义范围 5,10 数据将从 API 中获得,但对于范围 20,您必须请求两倍的 API。所以你可以使用 mergeMap 或 forkJoin 或 promise.resolveAll 然后只显示数据。
-
@AbhishekKumar 但如果需要添加 25 个元素而不是 20 个元素,那么我应该提出 3 个请求吗?我得到了它。我正在使用 Observable 获取数据,但在这种情况下我不知道如何使用 mergeMap。
标签: javascript angular api observable