老师,这一段代码它究竟是想干嘛?
我目前的理解就是:1.在页面滑到距离底部不足30且触发商家列表次数小于3次时,两种情况:①如正在加载商家列表,那么直接返回不再往下执行;②否则再一次加载商家列表。2.否则div .loading文本显示为‘加载完成’。这绕来绕去是怎么个意思,我晕了!
正在回答
同学你好,没有早早的就输出了“加载完成”哦。
在满足高度了条件scrollTop + clientHeight >= scrollHeight - proDis之后,且page大于等于3,表示已经加载过3页了。之后才会显示“加载完成”哦。
祝学习愉快~
如果满足了条件:scrollTop + clientHeight >= scrollHeight - proDis,说明快要滚动到底部了,应该这时候加载“加载完成”啊!为什么会早早就显示加载完成?
同学你好,可以结合如下理解:
1、可以理解为这里是做了加载限制,假如列表一共有100页,我们不能一次就滚动加载所有的。所以定义了变量page标记加载了多少页,然后判断page < 3,意思就是每次最多让它加载3页。
2、因为滚动的时候,一直在触发getList这个方法,就会一直加载。就是上个请求没请求完又一个请求,请求多次,就会返回多次数据。而isLoading就是设置标识,在标识为true时不重复请求
3、page是加载的页数。
4、(1)这里是先判断是否满足滚动高度的这个条件,若不满足,不进行任何操作。
(2)若是满足了,判断加载了几页,若是超过3页,执行else语句则显示文字“加载完成。”
(3)若是不满足3页,判断当前是否在发送请求。若是正在发送,直接结束,不需要重复请求。
(4)若是当前没有发生,则调用getList函数,发送请求。
可以再结合代码理解下哦。
祝学习愉快~
相似问题
登录后可查看更多问答,登录/注册
- 参与学习 人
- 提交作业 622 份
- 解答问题 6815 个
微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星