在微信小程序开发中,数据修改和视图更新扮演着核心角色,它能保证数据的一致性和开发效率,我们在实际开发中应该妥善运用这些概念和方法。
微信小程序中的 this.setData() 函数可以帮助我们进行数据修改和视图更新。
在开发中 this.setData() 是我们使用得最频繁的一个函数,它能帮助我们更新逻辑层的数据,以此来同视图层进行通信并展示对应的页面效果。
另外通过 this.data 的方式也可以直接修改我们的数据,但是需要注意的是这种方式是无法实现页面状态更新的,这可能会导致数据和实际展示不一致的问题。
因此,如果我们想要在修改数据的同时去更新页面的显示,一定要再去调用 this.setData() 函数。
注意事项
在开发中要注意合理使用 this.setData() ,this.setData() 是小程序开发中使用最频繁、也是最容易引发性能问题的接口。
1、不渲染无关的数据
一些不需要参与页面或组件展示逻辑的数据,我们应该避免放在 data 里面,可以把这些数据挂载在页面或组件的 this 上面。如: this.userData = {userId: 'xxx'};
2、控制数据修改的范围
更新某些数据量比较大的数组时,要控制更新范围,应该只去设置有改动的某个项,比如: this.setData({'list[2].content': 'newVal'},而不是通过 this.setData({list: this.data.list} 这样去更新整个数组的数据;
3、控制数据修改的频率
不在频繁去使用 this.setData() ,尽量只在页面需要更新的时候去调用,还有可以对连续的 setData 调用尽可能的进行合并。