微信小程序报错:this.setData is not a function的解决办法

作者:tangxiujiang 时间:2024-04-19 09:47:17 

微信小程序 报错:this.setData is not a function

在page中定义的代码如下,代码会报错:this.setData is not a function


<strong> pasteEncryptedText:function()</strong>{
let decryptedPass = this.data.decryptedPassword;
if (decryptedPass == '' ){
wx.showToast({
title: '请先输入解密密码',
mask: true,
success: function (res) {
 setTimeout(function () {
 wx.hideToast();
 }, 4000);
},
});
return;
}else{
wx.getClipboardData({
<strong>success: function (res)</strong> {
 if ( res.data == '' ){
 wx.showToast({
 title: '剪贴板没有内容',
 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(),而setData()是在wx.showToast()中调用的,此时this.setData() 

中的this不是page,而是wx.showToast()这个对象了 

解决方法:


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

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

<strong>let that = this;</strong>
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);
<strong> that.setData</strong>({
 encryptedTextDecode: res.data,
 originalTextDecode: desEncryptedDecrypted.decrypt(res.data, decryptedPass),
});
console.log(<strong>that.data.originalTextDecode</strong>);
}
}
});
}

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望通过本文能帮助到大家,谢谢大家对本站的支持!

来源:http://blog.csdn.net/tangxiujiang/article/details/77196754

标签:微信小程序,报错
0
投稿

猜你喜欢

  • Javascript程序优化

    2008-06-02 13:12:00
  • Python中PyMySQL的基本操作

    2024-01-15 20:57:11
  • Python使用struct处理二进制(pack和unpack用法)

    2022-12-23 08:27:56
  • python轻松办公将100个Excel中符合条件的数据汇总到1个Excel里

    2021-08-12 03:17:11
  • python使用matplotlib模块绘制多条折线图、散点图

    2021-07-28 06:41:20
  • 使用SqlServer CTE递归查询处理树、图和层次结构

    2024-01-16 07:35:42
  • Python如何实现自带HTTP文件传输服务

    2023-01-05 05:04:15
  • 使用ASP订制自己的XML文件读写方法

    2008-10-24 09:35:00
  • numpy系列之数组重塑的实现

    2022-10-20 13:36:35
  • python使用openpyxl库读写Excel表格的方法(增删改查操作)

    2021-11-29 01:22:43
  • Python 3.8正式发布,来尝鲜这些新特性吧

    2023-01-30 18:54:16
  • python迷宫问题深度优先遍历实例

    2023-10-16 18:54:06
  • xhEditor 免费的国产HTML在线编辑器

    2022-05-25 23:05:32
  • Python 实现多表和工作簿合并及一表按列拆分

    2022-06-27 05:58:42
  • vue-cli创建项目时由esLint校验导致报错或警告的问题及解决

    2024-05-29 22:23:42
  • 搜索结果页(SERP):前言

    2009-07-22 20:56:00
  • Go语言学习之指针的用法详解

    2024-02-12 06:56:10
  • 详解Python中的各种函数的使用

    2022-03-23 22:09:52
  • PyCharm利用pydevd-pycharm实现Python远程调试的详细过程

    2022-01-22 19:54:26
  • Windows 下 MySQL 8.X 的安装教程

    2024-01-14 03:05:33
  • asp之家 网络编程 m.aspxhome.com