国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 熱點(diǎn) > 微信 > 正文

微信小程序 setData 對(duì) data數(shù)據(jù)影響問題

2024-07-22 01:18:45
字體:
供稿:網(wǎng)友

我是純前端的,有些時(shí)候沒有后端接口,只能模擬一些數(shù)據(jù)來操作。偶然之下,發(fā)現(xiàn)了setdata 的一些機(jī)制,也有可能不對(duì),請(qǐng)多指教。

先放結(jié)論:data的變量通過setdata綁在一起,是同步變化的

準(zhǔn)備做一個(gè)一鍵還原界面的按鈕事件,如果有后端接口,只需調(diào)一下接口,就可以了。問題是沒有,于是想弄兩個(gè)一模一樣的數(shù)組A,B;A用來渲染界面,一鍵還原的時(shí)候,就把B的值賦給A,從而引起頁面重新渲染,達(dá)到重置界面的效果。

結(jié)果一點(diǎn)反應(yīng)也沒有。

data里有模擬的數(shù)組  itemleft  itemright,二選一,

定義代碼是這么寫的

this.setData({  uniqueitem: (id == 'unfinish') ? this.data.itemleft[index] : this.data.itemright[index],  cloneitem: (id == 'unfinish') ? this.data.itemleft[index] : this.data.itemright[index],  baninput: (id == 'unfinish')?false:true})

這是一鍵還原的代碼

this.setData({  uniqueitem:this.data.cloneitem})

后來通過console.log發(fā)現(xiàn)   uniqueitem、cloneitem和this.data.itemleft[index] 的值是一模一樣的,意思是,當(dāng)我改變uniqueitem的時(shí)候,其他兩個(gè)都會(huì)跟著變。

然后,我把cloneitem的值通過緩存還獲取,代碼變成了這樣

this.setData({  uniqueitem: (id == 'unfinish') ? this.data.itemleft[index] : this.data.itemright[index],  baninput: (id == 'unfinish')?false:true})var that=thiswx.getStorage({  key: 'item',  success: function(res) {    console.log(res)    that.setData({      cloneitem:res.data    })  },})this.setData({  uniqueitem:this.data.cloneitem})

改成這樣之后,一鍵還原第一次正常,后面再點(diǎn)全不正常

這是測試的console順序

console.log(this.data.itemleft[0])console.log(this.data.uniqueitem)console.log(this.data.cloneitem)

事先說明,改變date,改的是2的date

我通過一個(gè)函數(shù)改變了date,加1,

可以看到 1和2同時(shí)改變,3不變;

一鍵還原第一次

可以看到,1不變,3的值賦給了2;到目前正常

再次改變date,

可以看到,2和3一起變,1不變了

一鍵還原

和上面一樣不變了

后來我改成

var aaa = this.data.cloneitem;this.setData({  uniqueitem:aaa})

效果和上面一樣。

結(jié)論,

當(dāng)data有3個(gè)變量,a和b、c

this.setData({  a:this.data.b  c:this.data.b})

意思是,a和b綁一起,c和b綁一起,3個(gè)一起變,改變一個(gè)等于改變3個(gè)。個(gè)人猜測,應(yīng)該是存放變量a,b,c 的地址變成一個(gè)了。

this.setData({  a:this.data.b})            
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 开封市| 三亚市| 无极县| 米脂县| 中江县| 平阳县| 东源县| 太保市| 绍兴市| 望城县| 濮阳市| 怀仁县| 九龙坡区| 宁陵县| 洱源县| 阿勒泰市| 临猗县| 屏东市| 保亭| 芷江| 盐边县| 信宜市| 孟津县| 汽车| 临湘市| 石泉县| 万盛区| 磐安县| 武胜县| 花莲县| 东海县| 体育| 六安市| 徐水县| 洛阳市| 沂水县| 新泰市| 连江县| 嫩江县| 星座| 光山县|