国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 熱點 > 微信 > 正文

微信小程序 this和that詳解及簡單實例

2024-07-22 01:16:56
字體:
供稿:網(wǎng)友

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

var that=this;//把this對象復制到臨時變量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);    }   }

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄山市| 凤庆县| 渭南市| 上虞市| 平潭县| 嘉兴市| 东港市| 云安县| 黄骅市| 鲁甸县| 洪泽县| 秭归县| 江永县| 临颍县| 寿宁县| 长子县| 禄劝| 陆川县| 共和县| 麻栗坡县| 璧山县| 将乐县| 梁山县| 和硕县| 舞钢市| 都安| 伊川县| 丹凤县| 石泉县| 屏东县| 钟山县| 茌平县| 磴口县| 襄垣县| 资中县| 垦利县| 富顺县| 陆川县| 澄江县| 济源市| 兴文县|