【开发者问答】小程序中this.setData()与this.data的区别?
Posted: 2022年 Oct 25日 13:58
为什么设置 this.data='XXX' 页面确没有更新?
修改页面数据必须要通过setData才能触发rerender吗?
为什么设置 this.data='XXX' 页面确没有更新?
修改页面数据必须要通过setData才能触发rerender吗?
我们都知道小程序分为视图层和逻辑层,this.setData 函数用于将数据从逻辑层发送到视图层,同时改变对应的 this.data 的值。
如果通过this.data=xx这种方式来赋值,是无法触发视图层重新渲染从而更新页面,必须要通过setData函数设置状态。
如果直接修改this.data,而不调用this.setData(),既无法改变当前页面的状态的,还会导致数据不一致