我的目标是使用本机存储插件在Ionic 3中存储潜在的大型对象列表。我希望能够在Ionic无限滚动列表中显示列表。我假设如果我将整个列表作为单个对象保存到存储中,使用单个密钥,则需要相当长的时间来检索它,并且列表页面将从存储异步读取列表时保持空白一段时间。
我是否应该使用单个密钥保存列表中的每个项目,例如" key.1"," key.2"," key.3&#34 ;等,然后检索一个" pageful"一次的项目,由无限滚动列表支持?令人讨厌的是,当我想在列表中添加一个新项目时,我必须知道我要使用的是哪个密钥编号,因此我可以生成下一个密钥名称。
这种情况的最佳做法是什么?有没有更好的方法从内存异步加载大型列表,以便尽快显示给用户?
答案 0 :(得分:0)
我最终将我的项目存储在SQLite数据库的表中,因为我想避免本地存储可能施加的大小限制。我使用SELECT * FROM submissions LIMIT ? OFFSET ?
之类的查询从Ionic无限卷轴的doInfinite
函数中一次获取一页项目,跟踪我要处理的页面并将其传递到OFFSET参数中。 LIMIT参数是要为页面提取的行数,例如10。