【微信小程序】数据修改和视图更新

435 阅读2分钟

在微信小程序开发中,数据修改和视图更新扮演着核心角色,它能保证数据的一致性和开发效率,我们在实际开发中应该妥善运用这些概念和方法。

微信小程序中的 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 调用尽可能的进行合并。