### [如何解决微信小程序报错:this.setData is not a function的问题](https://www.prosaas.cn/article/17258) **Published:** 2018-06-27T08:15:07 **Author:** 5201314 **Excerpt:** 这篇文章主要介绍了微信小程序报错:this.setData is not a function的解决办法的相关… 这篇文章主要介绍了微信小程序报错:this.setData is not a function的解决办法的相关资料,希望通过本文能帮助到大家解决这样类似的问题,需要的朋友可以参考下 微信小程序 报错:this.setData is not a function 在page中定义的代码如下,代码会报错:this.setData is not a function pasteEncryptedText:function(){ let decryptedPass = this.data.decryptedPassword; if (decryptedPass == '' ){ wx.showToast({ title: '请先输入解密密码', mask: true, success: function (res) { setTimeout(function () { wx.hideToast(); }, 4000); }, }); return; }else{ wx.getClipboardData({ success: function (res) { if ( res.data == '' ){ wx.showToast({ title: '剪贴板没有内容', mask: true, success: function (res) { setTimeout(function () { wx.hideToast(); }, 4000); }, }) }else{ console.log(decryptedPass); console.log(res.data); this.setData({ encryptedTextDecode: res.data, originalTextDecode: desEncryptedDecrypted.decrypt(res.data, decryptedPass), }); console.log(this.data.originalTextDecode); } } }); } } **问题分析:**在函数 pasteEncryptedText()里面嵌套调用另一个函数 wx.showToast(),而setData()是在wx.showToast()中调用的,此时this.setData() 中的this不是page,而是wx.showToast()这个对象了 **解决方法:** 在函数pasteEncryptedText()一开始处将this对象保存:let that = this; pasteEncryptedText:function(){ let decryptedPass = this.data.decryptedPassword; let that = this; if (decryptedPass == '' ){ wx.showToast({ title: '请先输入解密密码', mask: true, success: function (res) { setTimeout(function () { wx.hideToast(); }, 4000); }, }); return; }else{ wx.getClipboardData({ success: function (res) { if ( res.data == '' ){ wx.showToast({ title: '剪贴板没有内容', mask: true, success: function (res) { setTimeout(function () { wx.hideToast(); }, 4000); }, }) }else{ console.log(decryptedPass); console.log(res.data); that.setData({ encryptedTextDecode: res.data, originalTextDecode: desEncryptedDecrypted.decrypt(res.data, decryptedPass), }); console.log(that.data.originalTextDecode); } } }); } 以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网! 相关推荐: 如何解决微信小程序请求服务器手机预览请求不到数据的问题 如何解决微信公众号 提示:Unauthorized API function的问题 如何解决微信小程序中出现的错误:{"baseresponse":{"errcode":-80002,"errmsg":""}} 以上就是如何解决微信小程序报错:this.setData is not a function的问题的详细内容,更多请关注知企PROSAAS其它相关文章! **Categories:** 后端开发 ---