根据官方最佳实践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 } })