data中的数组,取出后,经过unshift()加入元素后,不用setData就直接写入了

发布于 5 年前作者 yandai2949 次浏览最后编辑 5 年前来自 ask

点击“点击测试”按钮,可以在控制台看到,arr在unshift后,没有setData,但已经被存入data里面了

3 回复
yong32
yong321 楼5 年前

小程序赋值操作除了this.setData() 之外,this.data.arr = xxx也可以

let arr = this.data.arr
arr.unshift("aaa")
等于
this.data.arr = this.data.arr.unshift("aaa")
等于
this.data.arr.unshift("aaa")

虽然都是赋值操作,但setData 函数用于将数据从逻辑层发送到视图层,同时改变对应的 this.data 的值。后者只是简单的赋值操作

btao
btao2 楼5 年前

跟unshift没关系。setData是触发页面更新的

uwu
uwu3 楼7 个月前

谢邀。

this.data.xxx.unshift()这个不会渲染页面;

this.setData()这个会渲染。