欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信小程序 this和that詳解及簡單實(shí)例

 更新時間:2017年02月13日 17:00:36   投稿:lqh  
這篇文章主要介紹了微信小程序 this和that詳解及簡單實(shí)例的相關(guān)資料,需要的朋友可以參考下

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

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

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

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

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

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

再給一個完整的例子:

  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;

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

    }
   }

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • 微信小程序 動態(tài)的設(shè)置圖片的高度和寬度詳解及實(shí)例代碼

    微信小程序 動態(tài)的設(shè)置圖片的高度和寬度詳解及實(shí)例代碼

    這篇文章主要介紹了微信小程序 動態(tài)的設(shè)置圖片的高度和寬度詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • 最新評論