知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們在追求其視覺表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏壧峁┍憬莸闹С郑?
您當(dāng)前位置>首頁 » 新聞資訊 » 小程序相關(guān) >
一分鐘解決微信小程序在循環(huán)或者setInterval中渲染(this.setData)出錯(cuò)問題
發(fā)表時(shí)間:2020-9-25
發(fā)布人:葵宇科技
瀏覽次數(shù):114
大家好,我又來給大家安利讓大家頭痛的問題解決辦法啦。最近發(fā)現(xiàn)很多新手或者對微信小程序源碼理解不深的小可愛們會遇到在this.setData渲染時(shí)出現(xiàn)錯(cuò)誤的問題,怎么都解決不了,明明代碼都對的?;虿欢嗾f干貨奉上。
當(dāng)你的代碼是:
var name = "huangzu98";
for(let i=0;i<this.data.array.length;i++){
if(if(this.data.array[i].name != name){
this.setData({
array[i].name:name
})
}
}
或者是這樣:
var name = "huangzu98";
var interval = setInterval(function () {
this.setDate({
devName:name
})
},600)
如果你出現(xiàn)上面類似代碼編寫時(shí)會出現(xiàn)TypeError: this.setDate is not a function,仔細(xì)發(fā)現(xiàn)代碼都是正確的。
這是因?yàn)閠his作用域指向問題 ,很多函數(shù)實(shí)際是一個(gè)閉包 , 無法直接通過this來setData
那么需要怎么修改呢?
我們通過將當(dāng)前對象賦給一個(gè)新的對象
var that = this;
然后使用that 來setData就行了
var name = “huangzu98”;
var that = this;
var interval = setInterval(function () {
that.setDate({
devName:name
})
},600)
到這里就結(jié)束了,希望幫助你順利脫坑,以上代碼均是我舉例說明,請結(jié)合自己實(shí)際代碼進(jìn)行調(diào)試。
希望能夠幫到大家哦!IT需要愛與和平😊,最后請大家關(guān)注我,以及我的一分鐘系列(Android篇和小程序篇)讓你一分鐘實(shí)現(xiàn)相應(yīng)的功能,成功引起產(chǎn)品經(jīng)理的注意襖。
相關(guān)案例查看更多
相關(guān)閱讀
- 云南網(wǎng)站建設(shè)
- 快排推廣
- 小程序分銷商城
- 昆明軟件定制公司
- 云南小程序制作
- 汽車報(bào)廢系統(tǒng)
- Web開發(fā)框架
- 云南軟件公司
- 昆明小程序定制開發(fā)
- 云南企業(yè)網(wǎng)站
- 云南省建設(shè)廳網(wǎng)站官網(wǎng)
- 云南建設(shè)廳網(wǎng)站
- 網(wǎng)站建設(shè)專家
- 云南科技公司
- 小程序開發(fā)平臺前十名
- 安家微信小程序
- 迪慶小程序開發(fā)
- 昆明網(wǎng)站設(shè)計(jì)
- 云南網(wǎng)站開發(fā)
- 北京小程序開發(fā)
- 云南網(wǎng)站設(shè)計(jì)
- 云南網(wǎng)站建設(shè) 網(wǎng)絡(luò)服務(wù)
- 昆明做網(wǎng)站建設(shè)的公司排名
- 云南小程序被騙蔣軍
- uniapp開發(fā)小程序
- 汽車回收系統(tǒng)
- 汽車報(bào)廢管理系統(tǒng)
- 云南網(wǎng)站建設(shè)特性
- 小程序商城
- 網(wǎng)站排名優(yōu)化