用setdata直接传递整个数组或者对象的困惑
按本人之前的理解,用setdata修改某整个数组或者对象,属于引用 因此,下面的代码,在变量t和this.data.ttt通过setdata建立引用关系后,修改t,那么ttt应该相应变动,虽然没有渲染,变量t和this.data.ttt是相同内存的,预期最后的console.log输出应该是一致的, [代码]let t = [{ key1: 999 }][代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]ttt: t[代码][代码]})[代码][代码]t[0].key1 = 888[代码][代码]console.log(JSON.stringify(t))[代码][代码]console.log(JSON.stringify([代码][代码]this[代码][代码].data.ttt))[代码] [代码] [代码] 这一段代码放在我自己正在开发的小程序的index页面的onload()中,表现和预期一致: [图片] !!诡异的事情是这样发生的,把同一段代码放到官方的小程序demo或者weui演示里面的index页面的onload()中,表现确完全不同,t和this.data.ttt的值不同了,结果如下 [图片] 求大佬解惑 附:setdata整个数组或者对象,个人主要用在这样的情形:对整个需要渲染的数组,需要进行相对复杂的逻辑处理,为了避免频繁的setdata单个元素或者属性,采取了在整个逻辑处理完毕后,再一次性setdata整个对象