小程序数据量过大问题

setdata 官方描述

setData 理解

  • setData 函数用于将数据从逻辑层发送到视图层(异步)
  • this.data 的值(同步)
  • 直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致。
  • 仅支持设置可 JSON 化的数据。
  • 单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。请不要把 data 中任何一项的 value 设为 undefined ,否则这一项将不被设置并可能遗留一些潜在问题。

数据量过大 如何更新

业务场景: 页面的数据量非常大 一个数组 交互时只改变 其中一个值 如果我们每次交互 都要重新 setdata 那么页面会非常卡顿

如何解决: 我们改那个值 就更行那个值

  • 数据结构
data: {
    user_info:{
      name: 'li',
      age: 10
    },
    cars:['nio', 'bmw', 'wolks']
},
  • 更改一 、[‘字符串’] es6语法 动态改变 键名
this.setData({
      ['user_info.age']: 20,
      ['cars[0]']: 'tesla'
})
  • 更改 二、 常规操作 数据量大时 不推荐
var temp = this.data.cars
    temp[0] = 'volvo'
    
    this.setData({
      cars: temp
    })
  • 更改三 、 本质上和第一种 一样 这个是静态 第一种是动态的
var temp = this.data.cars
    temp[0] = 'volvo'
    
    this.setData({
      cars: temp
    })
上一篇:微信小程序(一)事件绑定


下一篇:小程序省市三级联动 及日期选择 (年月日)