使用 XSJS 服务实现延迟加载

Implement Lazy loading with XSJS Service

我有 XSJS 服务 returns 返回 3000 行(至少)到 UI。我需要为此实现 Lazy Loading。实现相同的最佳方法是什么。数据是自定义的,因此不能由 XSOData 服务处理。 我正在使用 XS Classic 开发 XSJS 服务。

任何想法都会有所帮助。

嗯,延迟加载将在客户端实现:延迟 JSONModel.loadData() 直到需要数据。

但我猜您将需要某种分页,以仅加载那么多行的一部分。如果不能使用XSOdata,就得自己实现分页了。 通常使用一些查询参数来定义起始行和要检索的行数。如果涉及排序和过滤,在服务中有效地实现分页通常不是一件容易的事。

在UI实现主要看你想做什么。您可以使用 JSONModel.loadData()bMerge = true 在后台加载所有页面。这样,第一行很快,列表在增长,同时用户可以开始阅读。或者您可以显示列表中的第一行并提供一个 "more" 按钮以按需添加下一页。或者你可以使用像 google...

这样的经典页面