>위챗 애플릿 >미니 프로그램 개발 >WeChat 애플릿 오류 문제를 해결하는 방법: this.setData는 함수가 아닙니다.

WeChat 애플릿 오류 문제를 해결하는 방법: this.setData는 함수가 아닙니다.

不言
不言원래의
2018-06-27 16:15:072877검색

이 글은 주로 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); 
  } 
 } 
 }); 
 } 
 }

문제 분석:In the 함수pasteEncryptedText()는 내부에 중첩된 또 다른 함수 wx.showToast()를 호출하고, wx.showToast()에서 setData()가 호출됩니다. 이때 this.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 중국어 홈페이지를 주목해주세요!

관련 권장사항:

WeChat 애플릿 요청 서버 휴대폰 미리보기에서 데이터를 요청할 수 없는 문제를 해결하는 방법


WeChat 공개 계정 프롬프트 문제를 해결하는 방법: 승인되지 않은 API 기능


방법 WeChat 애플릿 오류 문제를 해결하려면: {"baseresponse":{"errcode":-80002,"errmsg":""}}


위 내용은 WeChat 애플릿 오류 문제를 해결하는 방법: this.setData는 함수가 아닙니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.