WeChat アプレットでは、wx.request({}); メソッドの呼び出しが成功または失敗した後、this.data を使用してページの初期化データを取得する必要がある場合があります。取得できない場合は、デバッグ ページでも undefend が報告されます。その理由は、JavaScript ではこれが現在のオブジェクトを表し、wx.request({}) メソッドのコールバック関数でオブジェクトが変更されるためです。 wx.request({}); メソッド オブジェクトは存在しなくなり、data 属性も存在しなくなりました。公式の解決策は、次のように現在のオブジェクトをコピーすることです: var that=this;//このオブジェクトを一時変数 that にコピーします 成功コールバック関数で that.data を使用してデータを取得します。 ただし、これも非常に特殊な別の方法があります。それは、成功コールバック関数の宣言メソッドを次のように変更することです: success: res =>{ this.setData({ loadingHidden: true, hideCommitSuccessToast: false }) } ログイン後にコピー この方法では、これを直接使用してデータを取得できます。 別の完全な例を教えてください: 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); } } ログイン後にコピー |
その他の WeChat ミニ プログラムについては、あれこれの詳細な説明と簡単な例については、PHP 中国語 Web サイトに注目してください。