微信小程序 this.setData, 详解

1、定义

  setData()函数用于将逻辑层数据发送到视图层,同时对应的改变this.data的值。

2、setData()参数格式

  接受一个对象,以键(key)值(value)的方式改变值。

  其中,key十分灵活,以数据路径的方式给出 -- array[2].messagea.b.c.d,并且不需要在 this.data 中预先定义。

3、实例

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'
    })
  }
  }