小程序页面上拉加载事件

1、在data中设置评论文章的id以及,当前页(也可以设置一个每页显示条数),我这边是后端写死的条数

data{
         discuss:'',
        id:'',
        movie_id:'',
        page:1,
}
       

2、下拉事件中调用接口判断参数,实现下拉加载的数据 

 onReachBottom: function () {
      let page = this.data.page + 1 
      let movie_id = this.data.movie_id
      let that = this
      let oldDiscuss = this.data.discuss
      let token = wx.getStorageSync('token')
        //判断pages+1 是否大于总页数,如果大于就提示,不大于接着访问
      if(page>that.data.pageSum){
          wx.showToast({
             title: '人家也是有底限的',
                duration:1500,
                icon:'error'
            )}    
        return

        }
          wx.request({
          url: '',
          method:'POST',
          header:{token},
          data:{movie_id,page},
          success:res=>{
            if (res.data.error_code=='-1') {
              wx.switchTab({
                url: '/pages/cinema/cinema',
              })
              wx.showToast({
                title: '展示失败',
                duration:1500,
                icon:'error'
              })
              return
            }else{
              that.setData({
                  page,
                    //把数据追加到原来的数组中
                  discuss:oldDiscuss.concat(res.data.data.data)
                })
            }
            
          }
        })
    
    },

3、控制器代码 

public function discussList(Request $request){
        //电影id
        try {
            $movie_id = $request->post('movie_id');
            //当前页码数
            $page = $request->post('page',1);
            //偏移量
            $pageSize = ($page-1)*5;
            if (!is_numeric($movie_id)){
                return response()->json(['error_code'=>'-1','msg'=>'参数不正确','data'=>null]);
            }
            //总条数
            $count = count(DiscussModel::with('userInfo')->where('movie_id',$movie_id)->get()->toArray());
            //向上取整
            $pageSum = ceil($count%5);
            $data = DiscussModel::with('userInfo')->where('movie_id',$movie_id)->where('id','>',$pageSize)->paginate(5);
            return response()->json(['error_code'=>0,'msg'=>'评论列表','data'=>$data,'pageSum'=>$pageSum]);
        }catch (\Exception $e){
            return response()->json(['error_code'=>'-1','msg'=>$e->getMessage(),'data'=>null]);
        }

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值