ホームページ  >  記事  >  WeChat アプレット  >  WeChat アプレット エラーの問題を解決する方法: this.setData は関数ではありません

WeChat アプレット エラーの問題を解決する方法: this.setData は関数ではありません

不言
不言オリジナル
2018-06-27 16:15:072773ブラウズ

この記事では主に、WeChat アプレット エラー: this.setData は関数ではありません。この記事が同様の問題を解決するのに役立つことを願っています。

WeChat アプレット エラー: this .setData は関数ではありません

このページで定義されているコードは次のとおりです。コードはエラーを報告します:this.setData は関数ではありません

<strong> pasteEncryptedText:function()</strong>{ 
 let decryptedPass = this.data.decryptedPassword; 
 if (decryptedPass == &#39;&#39; ){ 
 wx.showToast({ 
 title: &#39;请先输入解密密码&#39;, 
 mask: true, 
 success: function (res) { 
  setTimeout(function () { 
  wx.hideToast(); 
  }, 4000); 
 }, 
 }); 
 return; 
 }else{ 
 wx.getClipboardData({ 
 <strong>success: function (res)</strong> { 
  if ( res.data == &#39;&#39; ){ 
  wx.showToast({ 
  title: &#39;剪贴板没有内容&#39;, 
  mask: true, 
  success: function (res) { 
  setTimeout(function () { 
   wx.hideToast(); 
  }, 4000); 
  }, 
  }) 
  }else{ 
  console.log(decryptedPass); 
  console.log(res.data); 
  <strong>this.setData({ 
  encryptedTextDecode: res.data, 
  originalTextDecode: desEncryptedDecrypted.decrypt(res.data, decryptedPass), 
  });</strong> 
  console.log(this.data.originalTextDecode); 
  } 
 } 
 }); 
 } 
 }

問題分析:関数pasteEncryptedText()は内部にネストされた別の関数wx.showToast()を呼び出し、wx.showToast()内でsetData()が呼び出されます

これはページではなくwx.showToast( ) このオブジェクト

解決策:

<strong> 在函数pasteEncryptedText()一开始处将this对象保存:</strong>let that = this;

pasteEncryptedText:function(){ 
 let decryptedPass = this.data.decryptedPassword;

<strong>let that = this;</strong> 
if (decryptedPass == &#39;&#39; ){ 
 wx.showToast({ 
 title: &#39;请先输入解密密码&#39;, 
 mask: true, 
 success: function (res) { 
 setTimeout(function () { 
 wx.hideToast(); 
 }, 4000); 
 }, 
 }); 
 return; 
}else{ 
 wx.getClipboardData({ 
 success: function (res) { 
 if ( res.data == &#39;&#39; ){ 
 wx.showToast({ 
  title: &#39;剪贴板没有内容&#39;, 
  mask: true, 
  success: function (res) { 
  setTimeout(function () { 
  wx.hideToast(); 
  }, 4000); 
  }, 
 }) 
 }else{ 
 console.log(decryptedPass); 
 console.log(res.data); 
 <strong> that.setData</strong>({ 
  encryptedTextDecode: res.data, 
  originalTextDecode: desEncryptedDecrypted.decrypt(res.data, decryptedPass), 
 }); 
 console.log(<strong>that.data.originalTextDecode</strong>); 
 } 
 } 
 }); 
}

上記はこの記事の全内容です。皆様の学習に役立つことを願っています。その他の関連コンテンツPHP 中国語 Web サイトに注意してください。

関連する推奨事項:

WeChat アプレットがサーバー携帯電話のプレビューを要求し、データが要求されない問題を解決する方法

WeChat パブリック アカウント プロンプトの問題を解決する方法: 不正な API 関数

方法WeChat アプレットエラーの問題を解決します: {"baseresponse":{"errcode":-80002,"errmsg":""}}

以上がWeChat アプレット エラーの問題を解決する方法: this.setData は関数ではありませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。