页面:
<block wx:for="{{data}}" wx:key="index">
<view class="list">
<view class="list-left">
<view>
<image src="{{item.active_img}}" class="list-img"></image>
</view>
<view class="list-time">
<view>{{item.active_time}}</view>
<view>{{item.active_address}}</view>
</view>
</view>
<view class="list-right">
<view class="list-text">
{{item.active_name}}
</view>
<view class="list-money">
<text class="list-money-text">¥{{item.active_price}}</text>
<button type="primary" size="mini" class="list-money-text" bindtap="click" data-id="{{item.active_id}}">预约</button>
</view>
</view>
</view>
</block>
js:页码数据:
data: {
// 页码
page:1,
// 要展示数据
data:[],
// 最后一页的页码
last_page:"",
},
详情跳转:
click(evt){
// console.log(evt.currentTarget.dataset.id)
let id=evt.currentTarget.dataset.id
wx.redirectTo({
url: '/pages/detail/detail?id='+id,
})
},
页面监听:
onLoad: function (options) {
let _this=this
try {
// 取缓存
var value = wx.getStorageSync('id')
if (value) {
// console.log(value)
// 发送列表请求
wx.request({
url: 'http://www.week3.com/index.php/activeList',
method:"GET",
data:{
"pages":4,
},
success(res){
// console.log(res.data.data.data)
let data=res.data.data.data
let last_page=res.data.data.last_page
// 渲染页面
_this.setData({
data:data,
last_page:last_page
})
}
})
}
} catch (e) {
// Do something when catch error
}
},
// 页面上拉触底事件的处理函数
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: 'success',
duration: 2000
})
}
wx.request({
url: 'http://www.week3.com/index.php/activeList',
method:"GET",
data:{
"pages":4,
"page":page
},
success(res){
// console.log(that.data.data)
// 渲染页面
that.setData({
page:that.data.page+1,
data:that.data.data.concat(res.data.data.data)
})
}
})
setTimeout(function(){
wx.hideLoading()
},2000)
},
后台:
public function activeList(Request $request){ $pages=$request->get("pages"); $data=ActiveList::activeList($pages); return json(['data'=>$data]); }
public static function activeList($pages){ return self::order('active_time',"desc")->paginate($pages); }