实习记录:小程序写分页加载页面

**实习记录:小程序写分页加载**

  新的需求要写一个分页加载的页面,最开始没有弄懂是什么意思,后来发现其实就是通过上拉加载数据分页请求数据,这样可以减少不必要的网络请求~

  微信小程序监听上拉加载的事件是 onReachBottom(),是原生提供的页面配置函数。我们可以通过监听这个事件,并且判断后端是否有剩余数据可以请求,来触发请求接口函数。

  这个时候,请求接口函数中也需要做一次判断,如果不是第一次请求接口,那么需要将请求到的数据接到 data 上已经挂好的数据之后,一般都是用数组存的,所以我用的是 concat 方法。遍历数组数据并把它写入页面item中用的就是 wx:for,这样可以就基本实现上拉加载的判断和数据增添了。

  除此之外,在 page 的 json 配置中,可以通过 onReachBottomDistance 设置滑动条距底部多少距离时就可触发上拉事件,这样视觉上会有滑动条顺滑的滑动的效果,而不是到底部就会出现由于请求接口时间过长的卡顿。

  我发现项目代码很注重的事情是兜底,简简单单的一个页面,要考虑很多失败的情况和细节。接口可能会挂,所以要有处理页面错误的通用组件。请求响应时间可能过长,这个时候要显示 loading 而不是空白页面。catch 的错误不同,要显示不同的提示。这是我在这次写页面中学到的之前的经验,以前写组件,考虑的东西是没有这么多的。

  Anyway,希望这次没有太大的bug,可以安安稳稳的上线。。。。。