zoukankan      html  css  js  c++  java
  • 小程序setData()使用和注意事项

    注意:

    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 

     
  • 相关阅读:
    odoo 自定义视图
    Odoo 模型之间的关系 笔记
    C#中计算两点之间连线的角度
    Jquery中1.6.x中新的方法prop()方法
    VS2010快捷键说明
    将DATAtable转换成 json格式
    在IIS中执行EXE文件时的问题
    WebDev.WebServer40.exe已停止工作
    sqllite developer过期解决方案
    c#的DateTime.Now函数详解
  • 原文地址:https://www.cnblogs.com/lfri/p/11974092.html
Copyright © 2011-2022 走看看