data中的数组,取出后,经过unshift()加入元素后,不用setData就直接写入了
发布于 3 年前 作者 yandai 2630 次浏览 来自 问答

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

3 回复

小程序赋值操作除了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 的值。后者只是简单的赋值操作

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

谢邀。

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

this.setData()这个会渲染。

回到顶部