微信小程序開發(fā)中varthat=this怎么用-創(chuàng)新互聯(lián)

小編給大家分享一下微信小程序開發(fā)中var that =this怎么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

十多年專注成都網(wǎng)站制作,企業(yè)網(wǎng)站制作,個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識(shí)、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站制作,高端網(wǎng)頁(yè)制作,對(duì)宴會(huì)酒店設(shè)計(jì)等多個(gè)行業(yè),擁有豐富設(shè)計(jì)經(jīng)驗(yàn)。

在微信小程序開發(fā)中,var that =this的聲明很常見,舉個(gè)例子,代碼如下:

示例代碼1

1  //index.js  
2  Page({  
3   
4   data: {  
5    toastHidden: true,  
6   },  
7   
8   loadData: function () {  
9      var that = this//這里聲明了that;將this存在that里面  
10     wx.request({  
11       url: 'test.php',  
12       data: {a: 'a', b: 'b'},  
13       header: {  
14        'content-type': 'application/json'  
15       },  
16       success(res) {  
17           that.setData({ toastHidden: false }) //這里使用了that,這樣就可以獲取Page({})對(duì)象  
18        },  
19      })  
20    }  
21  
22  })

在代碼中第9行聲明了var that =this;第17行使用了that。

如果不聲明var that =this,且that改成this,代碼如下!
示例代碼2

1  //index.js  
2   Page({  
3  
4    data: {  
5     toastHidden: true,  
6   },  
7  
8    loadData: function () {  
9      wx.request({  
10      url: 'test.php',  
11      data: {a: 'a', b: 'b'},  
12      header: {  
13       'content-type': 'application/json'  
14      },  
15      success(res) {  
16        this.setData({ toastHidden: false })  
17       },  
18      })  
19   }  
20  
21  })

此時(shí)運(yùn)行代碼就會(huì)報(bào)以下錯(cuò)誤!
微信小程序開發(fā)中var that =this怎么用

從報(bào)錯(cuò)中得知setData這個(gè)屬性讀不到,為何讀不到?這跟this關(guān)鍵字的作用域有關(guān)!

this作用域分析:

1.在Page({})里面,this關(guān)鍵字指代Page({})整個(gè)對(duì)象

2.因此可以通過this關(guān)鍵字訪問或者重新設(shè)置Page({})里data的變量

3.然而在loadData函數(shù)中使用了wx.request({})API這個(gè)方法導(dǎo)致在wx.request({})里沒辦法使用this來(lái)獲取Page({})對(duì)象

4.雖然在wx.request({})里沒法使用this獲取Page({})對(duì)象,但是可以在wx.request({})外面先把this存在某個(gè)變量中,所以就有了var that =this 這個(gè)聲明。此時(shí)that指代Page({})整個(gè)對(duì)象,這樣子就可以在wx.request({})里使用that訪問或者重新設(shè)置Page({})里data的變量

看完了這篇文章,相信你對(duì)“微信小程序開發(fā)中var that =this怎么用”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)站標(biāo)題:微信小程序開發(fā)中varthat=this怎么用-創(chuàng)新互聯(lián)
URL分享:http://muchs.cn/article18/ejsdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、定制開發(fā)網(wǎng)站策劃、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷、微信公眾號(hào)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開發(fā)