微信小程序:頁面全局參數(注意不是小程序的全局變量globalData)


為什么要使用頁面全局參數:方便使用數據

由於總頁數需要再另外的一個方法中使用,所以要把總頁數變成一個頁面全局參數。因為取數據使用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方法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM