chdyiboke / weekly

issue and share weekly
5 stars 1 forks source link

微信小程序setData()方法的详解 #38

Open liukexina opened 3 years ago

liukexina commented 3 years ago

setData方法:

  1. 参数接收一个对象,以key,value的形式表示
  2. 参数和变量名称一致,可用一个值代替(es6新语法特性)
  3. 可以设置一个或多个data数据
  4. key可以以数据路径的形式给出(路径形式的key必须带引号)(经小程序更新后,现已支持不加引号的写法)
    this.setData({
    'list[0].title' : 'change data',   //数据路径key必须带''号
    'list[0].num' : 'change data'      //数据路径key必须带''号
    })
  5. key值可以为变量,为变量的时候要用[ ]引起来
    var deletedtodo='todos['+index+'].idDelete';
    this.setData({
    })
  6. 直接修改this.data,虽然会改变数据,但是页面不会重新渲染,无法改变页面状态,会造成数据不一致的情况
  7. 单次设置的数据不能超过1024KB,请尽量避免一次设置过多的数据
  8. 不需要在this.data中预先定义,使用setData()方法会自动创建该数据