用箭頭函數(shù)可以忽略一下文字----------------------
[小程序中 that和this用法]
解決辦法 為復(fù)制一份this的指向到變量中,這樣在函數(shù)執(zhí)行過(guò)程中雖然this改變了,但是that還是指向之前的對(duì)象。
大家知道this是指當(dāng)前對(duì)象,只是一個(gè)指針,真正的對(duì)象存放在堆內(nèi)存中,this的指向在程序執(zhí)行過(guò)程中會(huì)變化,因此如果需要在函數(shù)中使用全局?jǐn)?shù)據(jù)需要合適地將this復(fù)制到變量中。
this作用域分析:
1.在Page({})里面,this關(guān)鍵字指代Page({})整個(gè)對(duì)象
2.因此可以通過(guò)this關(guān)鍵字訪問(wèn)或者重新設(shè)置Page({})里data的變量
3.然而在loadData函數(shù)中使用了wx.request({})API這個(gè)方法導(dǎo)致在wx.request({})里沒(méi)辦法使用this來(lái)獲取Page({})對(duì)象
4.雖然在wx.request({})里沒(méi)法使用this獲取Page({})對(duì)象,但是可以在wx.request({})外面先把this存在某個(gè)變量中,所以就有了 var that =this 這個(gè)聲明。此時(shí)that指代Page({})整個(gè)對(duì)象,這樣子就可以在wx.request({})里使用that訪問(wèn)或者重新設(shè)置Page({})里data的變量