lfri

注意:

  1. 直接修改this.data,而不调用this.setData(),是无法改变当前页面的状态的,会导致数据不一致
  2. 仅支持可以JSON化的数据
  3. 单次设置的数据不能超过1024KB,尽量避免一次设置过多的数据
  4. 不要把data中的任何一项的value设为undefined,否则这一项将不能被设置,可能会有潜在的问题
代码示例:
Page({

  /**
   * 页面的初始数据
   */
 data: {
    value:"初始值"    //定义一个变量value,赋值为:“初始化”

  },
   /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  }
  })

直接在wx:request()的success回调函数中使用this.setData()会报这样一个错误:

因为这里的this是相对于wx:request()的当前对象

解决:因为这里的wx:rewuest()是在页面加载时调用,所以我们可以在onLoad()中定义一个变量that ,将this赋值给that,那么此时的that代表相对于onLoad()的当前对象,然后在success回调函数中直接使用that.setData()即可。

这是设置Page data的示例:

Page({

  /**
   * 页面的初始数据
   */
  data: {
    score_list: null,
    guanka_list: null,
    currentTab: 0
  },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var that = this   //定义一个全局变量that
    wx.request({
      url: app.globalData.baseUrl + "query/rankByScore",
      type: \'GET\',
      dataType: \'json\',
      success: function (res) {
        that.setData({
          score_list: res.data.data
        })
        console.log(1, res)
      }
    })
  }
})

 

 

参考链接:https://juejin.im/post/5cf244405188252d18205def 

 

分类:

技术点:

相关文章:

  • 2021-09-15
  • 2021-11-05
  • 2022-01-10
  • 2018-05-15
  • 2021-09-22
  • 2021-11-22
  • 2021-12-15
猜你喜欢
  • 2021-10-06
  • 2021-04-27
  • 2021-10-06
  • 2021-09-19
  • 2021-11-05
  • 2021-11-05
相关资源
相似解决方案