javascript - 如果您已经访问过页面,则分页不会获取数据
问题描述
我已经为表格实现了分页。每次我更改页面时,都会从后端获取新数据并存储到本地 Store(Ngrx) 中,然后我通过选择器(Ngrx) 选择这些数据并根据 pageSize 和页面拆分成块。
例如:
const dataFromStore = [1,2,3,4,5,6,7,8,9,10]
const pageSize = 5;
const page = 1;
tableDisplays = [1,2,3,4,5]
我想知道如何检查我是否已访问过页面,以便不再获取数据,因为我将其存储在 Store(Ngrx) 中。下面的图片只是关于我在页面上旅行的控制台结果。
我一直在考虑ReplaySubject
和排列商店编号访问页面的位置。每次我访问页面时都会调用next(page)
assingsubscribe
数组new Set()
以获得唯一的页面。
任何想法,将不胜感激。
解决方案
这就是我解决这个问题的方法
- 首先为商店访问的页面创建了 Set:
const arrayVisitedPages = new Set();
- 然后我检查如果 Set 没有这个页面,然后从存储中获取数据:
`
if(!this.visitedPagesSet.has(page)) {
this.visitedPagesSet.add(page);
* fetch data *
};
差不多就是这样。
推荐阅读
- python - 在 csv 中保存为数据框的 3D 数组不成功
- c# - 为什么当我返回时布尔变量会被清除?
- django - 在 django 视图中设置下拉列表的值
- javascript - 在 Shiny Navbar App 中单击按钮更改标题
- ios - Flutter IOS - 在 Github Actions 上归档 IOS 包
- powerbi - 如何在 Power BI 中的表格视觉对象中展开/折叠行
- java - Flutter如何在flutter中编写java代码
- java - 如何配置 proguard 以保留包名中包含特定单词的包中的所有类?
- python - 如何理解 setAddress 函数中使用的“self.addressList[self.current].name”
- django - URL 调度程序:类别和草稿