为什么要使用页面全局参数:方便使用数据。

由于总页数需要再另外的一个方法中使用,所以要把总页数变成一个页面全局参数。因为取数据使用this.xxx即可,中间不用加data,给页面全局参数赋值页方便,直接使用this.xxx=值即可,不需要使用setData()

页面全局参数与data同层级。

Page({

  /**
* 页面的初始数据
*/
data: {
goodsList: [],
total: 0
},
//接口要的参数
QueryParams: {
query: '',
cid: '',
pagenum: 1,
pagesize: 10
},
// 总页数
totalPages: 1,
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
//console.log(options)
this.QueryParams.cid = options.cid || ''
this.QueryParams.query = options.query || ''
this.getGoodsList();
},
async getGoodsList(){
//console.log(this.QueryParams)
const res = await request({url: "/goods/search",data: this.QueryParams})
console.log(res)
//获取总条数
const total = res.total
//计算总页数
this.totalPages = Math.ceil(total / this.QueryParams.pagesize)
console.log(this.totalPages)
this.setData({
//拼接了数组
goodsList: [...this.data.goodsList,...res.goods]
})
wx.stopPullDownRefresh();
}, /**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
this.setData({
goodsList: []
})
this.QueryParams.pagenum = 1;
this.getGoodsList();
}, /**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
// console.log("页面触底")
//判断还有没有下一页
if(this.totalPages > this.QueryParams.pagenum){
//console.log("还有下一页")
this.QueryParams.pagenum++;
this.getGoodsList();
}else{
//console.log("没有下一页了")
wx.showToast({
title: '没有下一页数据了!'
});
}
}, })

注意:获取data数据模型中的值是通过this.data.xx来获取的。注意:微信小程序中获取数据模型中的值和给数据模型中的属性赋值都与vue中的不一样。

把输入框的值赋值给data当中使用setData方法

最新文章

  1. J2EE基础之Servlet
  2. fMRI: spatial smoothing
  3. python学习笔记之装饰器、递归、算法(第四天)
  4. iOS不同IDS说明
  5. 轻量级iOS蓝牙库:LGBluetooth(项目中用过的)
  6. Android一体式(沉浸式)状态栏的实现
  7. Android学习之 Intent详解
  8. Sde表结构分析
  9. orzdba在5.6安装
  10. UML建模文章总结
  11. [原创作品]观察者模式在Web App的应用
  12. rsyslog 配置详解
  13. 用python解析html
  14. ADS-B显示终端5.9
  15. tomcat启动失败的一种可能性
  16. CTF---隐写术入门第一题 SB!SB!SB!
  17. 教你如何用AST语法树对代码“动手脚”
  18. 记一次产品需求:图片等比缩放和CSS自适应布局16:9
  19. UnityWebRequest http post json通信
  20. 性能瓶颈之Mapping

热门文章

  1. BGP总结(二)
  2. Java 复习整理day10
  3. Java 复习整理day08
  4. NodeMCU学习笔记
  5. Pytest(10)assert断言
  6. jackson学习之九:springboot整合(配置文件)
  7. 【poj 1961】Period(字符串--KMP 模版题)
  8. Codeforces Round #529 (Div. 3) F. Make It Connected (贪心,最小生成树)
  9. Jenkins 安装与部署详细教程
  10. leetcode 4 寻找两个有序数组的中位数 二分法&INT_MAX