知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
您當前位置>首頁 » 新聞資訊 » 小程序相關(guān) >
一分鐘解決微信小程序在循環(huán)或者setInterval中渲染(this.setData)出錯問題
發(fā)表時間:2020-9-25
發(fā)布人:葵宇科技
瀏覽次數(shù):114
大家好,我又來給大家安利讓大家頭痛的問題解決辦法啦。最近發(fā)現(xiàn)很多新手或者對微信小程序源碼理解不深的小可愛們會遇到在this.setData渲染時出現(xiàn)錯誤的問題,怎么都解決不了,明明代碼都對的?;虿欢嗾f干貨奉上。
當你的代碼是:
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)上面類似代碼編寫時會出現(xiàn)TypeError: this.setDate is not a function,仔細發(fā)現(xiàn)代碼都是正確的。
這是因為this作用域指向問題 ,很多函數(shù)實際是一個閉包 , 無法直接通過this來setData
那么需要怎么修改呢?
我們通過將當前對象賦給一個新的對象
var that = this;
然后使用that 來setData就行了
var name = “huangzu98”;
var that = this;
var interval = setInterval(function () {
that.setDate({
devName:name
})
},600)
到這里就結(jié)束了,希望幫助你順利脫坑,以上代碼均是我舉例說明,請結(jié)合自己實際代碼進行調(diào)試。
希望能夠幫到大家哦!IT需要愛與和平😊,最后請大家關(guān)注我,以及我的一分鐘系列(Android篇和小程序篇)讓你一分鐘實現(xiàn)相應(yīng)的功能,成功引起產(chǎn)品經(jīng)理的注意襖。
相關(guān)案例查看更多
相關(guān)閱讀
- 網(wǎng)站開發(fā)哪家好
- 小程序開發(fā)聯(lián)系方式
- 云南網(wǎng)站建設(shè)價格
- web開發(fā)
- 百度小程序公司
- APP
- 汽車報廢管理
- 網(wǎng)絡(luò)營銷
- 云南軟件設(shè)計
- web開發(fā)技術(shù)
- 云南網(wǎng)站開發(fā)
- 云南省建設(shè)廳網(wǎng)站
- 開發(fā)制作小程序
- 汽車報廢回收管理系統(tǒng)
- 云南網(wǎng)站建設(shè)開發(fā)
- 表單
- 小程序開發(fā)
- 重慶網(wǎng)站建設(shè)公司
- 報廢車
- 網(wǎng)絡(luò)公司報價
- 正規(guī)網(wǎng)站建設(shè)公司
- 保山小程序開發(fā)
- 云南網(wǎng)頁制作
- 云南網(wǎng)站建設(shè) 網(wǎng)絡(luò)服務(wù)
- 海報插件
- 云南省城鄉(xiāng)建設(shè)廳網(wǎng)站
- 云南建站公司
- 模版信息
- 手機網(wǎng)站建設(shè)
- 北京小程序制作