微信小程序中的this和that如何用-創(chuàng)新互聯(lián)

今天小編給大家分享一下微信小程序中的this和that如何用的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。

創(chuàng)新互聯(lián)專注于雄縣企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開(kāi)發(fā),商城網(wǎng)站建設(shè)。雄縣網(wǎng)站建設(shè)公司,為雄縣等地區(qū)提供建站服務(wù)。全流程按需定制設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

微信小程序中,在wx.request({});方法調(diào)用成功或者失敗之后,有時(shí)候會(huì)需要獲取頁(yè)面初始化數(shù)據(jù)data的情況,這個(gè)時(shí)候,如果使用,this.data來(lái)獲取,會(huì)出現(xiàn)獲取不到的情況,調(diào)試頁(yè)面也會(huì)報(bào)undefiend。原因是,在javascript中,this代表著當(dāng)前對(duì)象,會(huì)隨著程序的執(zhí)行過(guò)程中的上下文改變,在wx.request({});方法的回調(diào)函數(shù)中,對(duì)象已經(jīng)發(fā)生改變,所以已經(jīng)不是wx.request({});方法對(duì)象了,data屬性也不存在了。官方的解決辦法是,復(fù)制一份當(dāng)前的對(duì)象,如下:

var that=this;//把this對(duì)象復(fù)制到臨時(shí)變量that

在success回調(diào)函數(shù)中使用that.data就能獲取到數(shù)據(jù)了。

不過(guò),還有另外一種方式,也很特別,是將success回調(diào)函數(shù)換一種聲明方式,如下:

success: res =>{
  this.setData({
      loadingHidden: true,
      hideCommitSuccessToast: false
  })
}

在這種方式下,this可以直接使用,完全可以獲取到data數(shù)據(jù)。

再給一個(gè)完整的例子:

  success: res => {
    if (res.data.code != 0) {
     // 提交失敗
     this.setData({
      loadingHidden: true,
      hiddenTips: false,
      tipsContent: res.data.message
     })
    } else {
     // 提交成功
     this.setData({
      loadingHidden: true,
      hideCommitSuccessToast: false
     })
     subBtn = false;

     // 定時(shí),3秒消失
     setTimeout(() => {
      this.setData({
       hideCommitSuccessToast: true
      })
      wx.navigateBack({ delta: 2 });
     }, 2000);

    }
   }

以上就是“微信小程序中的this和that如何用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

文章標(biāo)題:微信小程序中的this和that如何用-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://muchs.cn/article38/dhiesp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、虛擬主機(jī)、全網(wǎng)營(yíng)銷推廣、品牌網(wǎng)站建設(shè)、網(wǎng)站策劃、用戶體驗(yàn)

廣告

聲明:本網(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)

成都定制網(wǎng)站建設(shè)