小程序数据量过大问题

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
    })
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值