所属分类:php教程
本篇文章给大家带来的内容是关于小程序开发之页面上拉加载数据(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
需求是上拉加载数据,实际就是获取分页数据。后台就是正常的ajax请求分页数据,小程序部分稍复杂些,查了一些资料完成的, 但是资料的链接找不到了,不能放上以供参考了。
小程序页面
涉及到数据循环,下面是简单的实例
{{item.name}}
{{item.age}}
登录后复制
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()
}
}
})
登录后复制
关于上拉触底,还有这些特性
程序员必备接口测试调试工具:立即使用
Apipost = Postman + Swagger + Mock + Jmeter
Api设计、调试、文档、自动化测试工具
后端、前端、测试,同时在线协作,内容实时同步
以上就是小程序开发之页面上拉加载数据(附代码)的详细内容,更多请关注zzsucai.com其它相关文章!