公众账号

二维码 微信扫描关注

当前位置:首页 > 码农学开发 > 小程序教程 >

微信小程序setData()方法是干什么用的?

setData 函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data 的值(同步)。
 
参数说明
字段 类型 必填 描述 最低版本
data Object 这次要改变的数据
callback Function setData引起的界面更新渲染完毕后的回调函数 1.5.0
 
Object 以 key: value 的形式表示,将 this.data 中的 key 对应的值改变成 value。
 
其中 key 可以以数据路径的形式给出,支持改变数组中的某一项或对象的某个属性,如 array[2].message,a.b.c.d,并且不需要在 this.data 中预先定义。
 
注意:
 
直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致。
仅支持设置可 JSON 化的数据。
单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。
请不要把 data 中任何一项的 value 设为 undefined ,否则这一项将不被设置并可能遗留一些潜在问题。
 
示例代码:
 
Page({
  data: {
    text: 'init data',
    array: [{text: 'init data'}],
    object: {
      text: 'init data'
    }
  },
  changeText: function() {
    this.data.text = 'changed data'  //这是错误的,因为在JavaScript中this代表当前对象,会随着程序的执行而上下改变--解决办法看下面<1,<2
   <1 var that=this; //复制一份this到临时变量that中
    this.setData({ //此时OK
      text: 'changed data'
    })
  <2 函数名:res=> {
    this.setData({ //此时OK
      text: 'changed data'
    })
  }
  }
关于 商务 项目 联系 友情链接网站地图 Copyright ©2018-2019 猪猪源码版权所有 备案号:豫ICP备18007351号-1(http://www.zzphp.cn)