效果图
wxml页面
** 下载微信小程序页面布局组件 lin-ui 更快布局**
直接通过git下载 Lin UI
源代码,并将 dist
目录(Lin-UI 组件库)拷贝到自己的项目中
git clone https://github.com/TaleLin/lin-ui.git
打开lin-ui手册
布局组件 - 卡片 Card - 《Lin UI v0.5 使用教程》 - 书栈网 · BookStack
<!--pages/cart/cart.wxml-->
<view wx:for="{{movies}}" wx:for-item="item">
<l-card type="primary"
full="{{true}}"
image="{{item.images}}"
title="{{item.movie_name}}">
<view class="content">
{{item.movie_name}}
</view>
</l-card>
</view>
<!-- 提示框 -->
.json页面
将l-card 标签引入json文件中 ,此处linui是我将下载好的dist文件夹名称后来改为的linui
{
"usingComponents": {
"l-card":"/linui/card/index"
}
}
js页面代码
Page({
data: {
page:1,//页码
movies:[],//即将展示的数据
last_page:'',//最后一页页码
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {//页面加载求出第一页数据
let that = this;
wx.request({
url: 'http://www.test.com/test',
data:{
pageSize :10,//每页查询条数
},
success:(res)=>{
console.log(res.data.data);
that.setData({
movies:res.data.data.data,
last_page:res.data.data.last_page//获取最后一页的页码数存起来
})
}
})
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function (e) {
let that = this;
let page = that.data.page+1;//获取下一页
wx.showLoading({//温馨提示正在加载第几页
title: '正在加载第'+page+"页",
})
if(page>this.data.last_page)
{//判断是否到最后一页
wx.showToast({
//友情提示
title: '到底了',
icon:'error'
})
}
wx.request({
url: 'http://www.test.com/test',
data:{
pageSize :10,
page:page//传到后台de页码
},
success:(res)=>{
// console.log(res.data.data.data);
that.setData({
//页码数量继续+1
page:that.data.page+1,
//将查询到下一页的数据拼接到上一页
movies:that.data.movies.concat(res.data.data.data)
})
setTimeout(function () {//提示设置过期时间隐藏
wx.hideLoading()
},1000)
}
})
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
PHP后台数据
function test()
{
$size = $this->request->param('pageSize');//接受每条查询的条数
//paginate会自动使用我们传过来的页码,我们只需在小程序传数据的时候把页面page和每页条数size传过来即可
$movie = \app\admin\model\Movies::paginate($size);
return json(['code'=>200,'msg'=>'success','data'=>$movie]);
}