欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

一分鐘解決微信小程序在循環(huán)或者setInterval中渲染(this.setData)出錯問題 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識

不管是網(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)案例查看更多