框架类型 | 问题类型 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|
小程序 | Bug | 微信安卓客户端 | 所有 | 所有 |
根据官方最佳实践https://developers.weixin.qq.com/miniprogram/dev/framework/performance/tips.html
“由setData的底层实现可知,我们的数据传输实际是一次 evaluateJavascript 脚本过程,当数据量过大时会增加脚本的编译执行时间,占用 WebView JS 线程”
那么在向data中的数组追加/移除元素时能否只传递差量而不传递整个数组?
this.setData({
array: this.data.array.concat(anotherArray) // 目前只能整体设置更新后的数组?
})
支付宝小程序为此提供了Page.prototype.$spliceData(data: Object, callback: Function)接口
网友回复
拾忆:
可以试试这样:
data: {
array: {
test1: {},
test2: {}
}
}
let test2 = "array.test2"
this.setData({
[test2]: {
a: 1,
b: 2
}
})