大家自己去百度上看一下他们的换一换功能,就能明白是什么意思啦
在普通一点的说,换一换功能与分页功能一致,以百度首页为例,当前页面为1,当前页面的数据为6,当前数据为1-6,在点击换一换之后,数据会变成7-12,那这个是如何实现的呢,原理就在于每点击一次换一换的时候,当前所在页面+1,即在查询时查询第二页的6个数据,就变相的达到了分页的效果了,然而我们多点几次,发现在数据为30之后,再点击换一换,数据又回来了,这里的话就需要加一个限制,当当前的页数为5时,将当前页面数重新赋值为1,这样数据就可以轮着换啦,数据到30后,再点击换一换即可以看到数据从1开始继续循环了
但我们在实际应用过程中,也会出现数据不足30条的情况,就要另外处理啦
cilckChangeIt() {
if (this.lengthIdent === 6 && this.currentPage !== 5){
this.currentPage++
} else if (this.lengthIdent < 6){
this.currentPage = 1
} else if (this.currentPage === 5){
this.currentPage = 1
}
this.init()
}
其中init方法就是重新查数据的方法,lengthIdent 为从后台接口中查询数据的长度,currentPage为第几页
但是这种情况会出现一种情况,若现在的数目为12条时,会出现一次没有数据的情况,下一次换一换的时候才会回到第一页
这里就需要在查询方法判断了,若查询回来的数目为空,在给lengthIdent赋值之前进行判断,若从后台查询回来的数据为空,直接将currentPage置为1,重新调用init方法就可以解决啦
有什么想法再一起交流呀