微信小程序下滑时能实现加载更多数据
wxml代码:
<view class="scroll">
<!-- 绑订页面上拉触底事件的处理函数onReachBottom事件 -->
<scroll-view scroll-y="{{true}}" style="height: 400px;" bindscrolltolower="onReachBottom">
<view>{{test}}</view>
<!-- 参数循环data js中的data 数据 -->
<block wx:for="{{datas}}" wx:key="index">
<!-- 页面渲染 -->
<view>{{item.content}}</view>
</block>
</scroll-view> </view>
wxjs 代码:
// pages/pre/pre.js
Page({ /**
* 页面的初始数据
*/
data: {
focus:false,
test:'fsdafa',
datas:[
{id:1,content:'021/10/20'},
{id:2,content:'021/10/20'},
{id:3,content:'021/10/20'},
{id:4,content:'021/10/20'},
{id:5,content:'021/10/20'}
]
}, /**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () { let datass=[
{id:6,content:'021/10/20'},
{id:7,content:'021/10/20'},
{id:8,content:'021/10/20'},
{id:9,content:'021/10/20'}
]
let that=this
let arr=that.data.datas.concat(datass);
this.setData({
datas:arr
})
},
效果图:

第二种方法
wx.js
// pages/order/order.js
Page({ /**
* 页面的初始数据
*/
data: { foods: [],
// 定义一个默认的页数
page: 1,
// 每页显示的条数,后端也可以定义
limit: 4,
}, /**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
let limit = this.data.limit
let page = this.data.page
let token = wx.getStorageSync('token')
wx.request({
url: 'http://www.yan.com/get_food', //仅为示例,并非真实的接口地址
header: { token },
method: 'POST',
data: {
limit,
page
},
success: res => {
this.setData({
foods: res.data.data
})
}
}) }, /**
* 详情
*/
details(e) {
let id = e.target.dataset.id;
wx.navigateTo({
url: '/pages/food_details/food_details?id=' + id,
}) }, /**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
let token = wx.getStorageSync('token')
let limit = this.data.limit
let page = this.data.page + 1
let foods = this.data.foods wx.request({
url: 'http://www.yan.com/get_food', //仅为示例,并非真实的接口地址
header: { token },
data: {
limit,
page
},
method: 'POST',
success: res => {
if (res.data.code == 200) {
//请求到后端的数据,让onLoad的 数据和请求到的数据进行合并
let new_foods = foods.concat(res.data.data);
wx.showToast({
title: '加载中',
icon: 'loading'
})
// 从新进行赋值,让他继续循环
this.setData({
foods: new_foods,
page: page + 1
})
} else if (res.data.code == 201) {
// 就是当前页大于最后一页啦,提示没有数据源啦
wx.showToast({
title: res.data.message,
})
return
} else {
console.log('数据错误')
} }
}) }, })
laravel 路由
Route::group(['namespace' =>'exams','middleware'=>'jwt'], function () {
Route::post('get_food','week2\ExamController@orderList');
Route::post('create_order','week2\ExamController@createOrder');
});
控制器代码
/**
* 点餐列表
*/
public function orderList(Request $request){
// 接受当前页
$page=$request->post('page');
// 接受每页显示的条数
$limit=$request->post('limit');
// 获取总条数
$count=Food::count();
// 总页数
$lastPage=ceil($count/$limit);
if ($page>$lastPage){
return response()->json(['code'=>201,'message'=>'我是有底线的','data'=>'']);
}
// 计算偏移量
$offset=($page-1)*$limit;
$data=Food::orderBy('id','desc')->offset($offset)->limit($limit)->get();
return response()->json(['code'=>200,'message'=>'success','data'=>$data]); }


微信小程序下滑时能实现加载更多数据的更多相关文章
- 微信小程序 - (下拉)加载更多数据
注意和后端配合就行了,前端也只能把数据拼接起来! 无论是下拉加载还是加载更多,一样的道理! 注意首次加载传递参数 注意每次加载数据数 wxml <view class='table-rank'& ...
- 微信小程序 scroll-view 完成上拉加载更多
我们经常在软件客户端上看到这么一个功能,当我们阅读信息浏览到文章的末尾时,通常会加载出更多的信息.比如,我们在简书客户端上浏览推荐文章时,浏览到屏幕的末尾,此时又加载出了另一页的推荐文章,即实现了上拉 ...
- 微信小程序中使用ECharts 异步加载数据 实现图表
<!--pages/bar/index.wxml--> <view class="container"> <ec-canvas id="my ...
- 【小程序开发】上拉加载更多demo
wxml: <scroll-view class='swiper-scroll' scroll-y="{{true}}" bindscrolltolower="lo ...
- 微信小程序之下拉刷新,上拉更多列表实现
代码地址如下:http://www.demodashi.com/demo/11110.html 一.准备工作 首先需要下载小程序开发工具 官方下载地址: https://mp.weixin.qq.co ...
- js防抖和节流优化浏览器滚动条滚动到最下面时加载更多数据
防抖和节流,主要是用来防止过于平凡的执行某个操作,如浏览器窗口变化执行某个操作,监听某个input输入框keyup变化,瀑布流布局时Y轴滚动,图片加载. js函数的防抖 经过一段事件才执行某个操作,如 ...
- ASP.NET仿新浪微博下拉加载更多数据瀑布流效果
闲来无事,琢磨着写点东西.貌似页面下拉加载数据,瀑布流的效果很火,各个网站都能见到各式各样的展示效果,原理大同小异.于是乎,决定自己写一写这个效果,希望能给比我还菜的菜鸟们一点参考价值. 在开始之前, ...
- 基于zepto的H5/移动端tab切换触摸拖动加载更多数据
以前实现移动端的滑动加载更多实现的方法是当滚动条快到页面底部时就自动加载更多的数据,在这方面很多人都用的是"西门的后花园"写的一个叫dropload的插件,这个插件用起来也很好,很 ...
- vue10行代码实现上拉翻页加载更多数据,纯手写js实现下拉刷新上拉翻页不引用任何第三方插件
vue10行代码实现上拉翻页加载更多数据,纯手写js实现下拉刷新上拉翻页不引用任何第三方插件/库 一提到移动端的下拉刷新上拉翻页,你可能就会想到iScroll插件,没错iScroll是一个高性能,资源 ...
随机推荐
- C# 将OFD转为PDF
OFD格式的文档是一种我国独有的国家标准版式的文档,在不同场景需求中,可以通过格式转换的方法将PDF转为OFD,或者将OFD转为PDF.本次内容,将通过C#程序介绍如何实现由OFD到PDF的转换,并附 ...
- Nginx 根据不同的域名来代理转发内部主机-HTTP和HTTPS
一.需求 由于公司只有一个公网,很多 web 项目都想通过 80 或 443 端口来访问,所以需要 Nginx 充当公司网关. 把唯一的公网 IP 80 端口和 443 端口跟 Nginx 网关主机 ...
- AT5760 Manga Market
首先一个想法就是可以考虑令 \(dp_{i, j}\) 表示当前考虑到了第 \(i\) 个商店,当前到了时刻 \(j\) 能走过最多的商店数量.但是你会发现这个 \(dp\) 转移的顺序并不是简单的从 ...
- 无法加载 mcrypt (外链,英语) 扩展,请检查您的 PHP 配置。
转载请注明来源:https://www.cnblogs.com/hookjc/ 需要安装libcrytp,在下面的地址下载libmarypt: ftp://mcrypt.hellug.gr/pub/c ...
- 广播接收者案例_ip拨号器
(1)定义一个类继承BroadCastReceiver public class OutGoingCallReceiver extends BroadcastReceiver { //当接收到外拨电话 ...
- imagenamed和imageWithContentOfFile的区别
@implementation ViewController /** 图片的两种加载方式: 1> imageNamed: a. 就算指向它的指针被销毁,该资源也不会被从内存中干掉 b. 放到As ...
- 针对某p社游戏某整合包的研究
软件分析 垃圾re手 最近在玩群星 创意工坊里面下载了整合包 进群下载排序文件后竟然发现要付费() 28R够吃一顿好的 马上来分析一下这个软件 这是一个四版整合包的mod安装器 其中樱花远征和新星纪元 ...
- opencv笔记--HOGDescriptor
特征描述提取图像区域上有用信息而忽略无用信息,不同目标下有用信息与无用信息定义不同.这里提取的有用信息用于分类器输入并期望产生正确的分类. HOG(Histogram of Oriented Grad ...
- Solution -「CF 1132G」Greedy Subsequences
\(\mathcal{Description}\) Link. 定义 \(\{a\}\) 最长贪心严格上升子序列(LGIS) \(\{b\}\) 为满足以下两点的最长序列: \(\{b\}\) ...
- vmstat监视内存的使用情况
vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可实时动态监视操作系统的虚拟内存.进程.CPU活动. vmstat的语法 vmstat [-V] [-n] [ ...