小程序开发之页面上拉加载数据(附代码)
程序员文章站
2022-03-02 08:42:05
...
本篇文章给大家带来的内容是关于小程序开发之页面上拉加载数据(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
需求是上拉加载数据,实际就是获取分页数据。后台就是正常的ajax请求分页数据,小程序部分稍复杂些,查了一些资料完成的, 但是资料的链接找不到了,不能放上以供参考了。
小程序页面
涉及到数据循环,下面是简单的实例
<view wx:for="{{array}}"> <view >{{item.name}}</view> <view >{{item.age}}</view> </view>MVVM 的开发模式(例如 React, Vue),提倡把渲染和逻辑分离。简单来说就是不要再让 JS 直接操控 DOM,JS只需要管理状态即可,然后再通过一种模板语法来描述状态和界面结构的关系即可。
小程序JS部分
JS部分负责的是获取数据,以及拼接数据
Page({ /** * 页面的初始数据 */ data: { array: [], page: 1, isReachBottom: true // 是否上拉加载 }, // 获取数据 getList: function () { var that = this; wx.request({ url: 'https://xxx', data: { p: that.data.page }, success: function (res) { if (res.data.message == 'success') { // 获取成功,数据追加 var list = []; var count = res.data.data.length for (var i = 0; i < count; i++) { var data = {name: '', age: ''}; data.name = res.data.data[i].name; data.age = res.data.data[i].age; list.push(data); } Array.prototype.push.apply(that.data.array, list); that.setData({ array: that.data.array }) } else if (res.data.message == 'finish') { // 没有数据,禁止再次上拉加载 that.setData({ isReachBottom: false }) } } }) }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { if (this.data.isReachBottom == true) { this.setData({ page: this.data.page + 1 }) this.getList() } } })
关于上拉触底,还有这些特性
以上就是小程序开发之页面上拉加载数据(附代码)的详细内容,更多请关注其它相关文章!
上一篇: php怎么设置页面不能后退
下一篇: php zend安装配置的方法