国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

微信小程序中this和that怎么用

發(fā)布時(shí)間:2021-07-06 14:08 來(lái)源:億速云 閱讀:0 作者:小新 欄目: web開(kāi)發(fā)

小編給大家分享一下微信小程序中this和that怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

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

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

在success回調函數中使用that.data就能獲取到數據了。

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

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

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

再給一個(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);

    }
   }

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系站長(cháng)郵箱:ts@56dr.com進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。

日韩人妻无码一区二区三区| 国内少妇人妻丰满AV| 蜜臀精品无码AV在线播放| 亚洲综合色区另类AⅤ| 超清纯白嫩大学生无码网站| 顶级欧美熟妇高潮XXXXX|