最后页码(服务器端分页,Ng2-Smart-Table)

Last page number (Server side pagination, Ng2-Smart-Table)

我正在使用带有服务器端分页的 Ng2-Smart-Table 组件。 我测试了示例 (https://github.com/akveo/ng2-smart-table/blob/master/src/app/pages/examples/server/advanced-example-server.component.ts)

分析上述示例中的请求,我注意到除了 JSON 条记录/对象之外没有任何响应: IMAGE - Response Example.

疑问:组件如何知道哪一页是最后一页? (在示例 500 中): IMAGE - Example last page pagination

我试图了解如何在我的 API 中实施,因为我将实施与示例略有不同的内容,仅在服务中请求。所以我想知道组件是如何获取最后一页的值的。

分页的概念基于数据的获取和跳过。假设您的网格显示 10 条记录,那么 take 的值将为 10,如果您在第一页,则 skip 的值将为零。这是用于此概念的以下公式:

skip = (pageNo. - 1 ) * take

希望对您有所帮助

我找到了我自己问题的答案 XD 在调试server.data-source.js文件中的组件代码后,我发现了该组件的工作原理,它进行了两次验证并且可以通过两种方式提取总行数。 首先,它会验证响应 header 是否有一个 Key 等于您的应用程序 angular.

中 ServerDataSource object 实例的 Key totalKey 中的值。

如果它不存在,它会在响应的 JSON object 列表中查找,也使用相同的键。