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


Posted in Javascript onSeptember 27, 2017

微信小程序 报错: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>); 
 } 
 } 
 }); 
}

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

Javascript 相关文章推荐
Add Formatted Data to a Spreadsheet
Jun 12 Javascript
js加密解密字符串可自定义密码因子
May 13 Javascript
DOM基础教程之事件对象
Jan 20 Javascript
JavaScript截断字符串的方法
Jul 15 Javascript
JS基于myFocus库实现各种功能的tab选项卡切换效果
Sep 19 Javascript
JS阻止事件冒泡行为和闭包的方法
Jun 16 Javascript
springMVC结合AjaxForm上传文件
Jul 12 Javascript
Jquery组件easyUi实现表单验证示例
Aug 23 Javascript
vue实现简单表格组件实例详解
Apr 16 Javascript
微信小程序 websocket 实现SpringMVC+Spring+Mybatis
Aug 04 Javascript
jQuery选择器之属性筛选选择器用法详解
Sep 19 jQuery
Vue通过URL传参如何控制全局console.log的开关详解
Dec 07 Javascript
EasyUI Tree树组件无限循环的解决方法
Sep 27 #Javascript
详解微信小程序Page中data数据操作和函数调用
Sep 27 #Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
Sep 27 #Javascript
微信小程序中button组件的边框设置的实例详解
Sep 27 #Javascript
使用javaScript实现鼠标拖拽事件
Apr 03 #Javascript
vue-cli项目中怎么使用mock数据
Sep 27 #Javascript
javaScript实现复选框全选反选事件详解
Nov 20 #Javascript
You might like
4月1日重磅发布!《星际争霸II》6.0.0版本更新
2020/04/09 星际争霸
用PHP生成自己的LOG文件
2006/10/09 PHP
php完全过滤HTML,JS,CSS等标签
2009/01/16 PHP
Yii隐藏URL中index.php的方法
2016/07/12 PHP
Windows下php+mysql5.7配置教程
2017/05/16 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
2020/04/06 PHP
Discuz! 6.1_jQuery兼容问题
2008/09/23 Javascript
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
基于jQuery实现下拉收缩(展开与折叠)特效
2012/12/25 Javascript
Jquery 数组操作大全个人总结
2013/11/13 Javascript
JavaScript通过使用onerror设置默认图像显示代替alt
2016/03/01 Javascript
关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法
2017/03/02 Javascript
微信小程序 生命周期函数详解
2017/05/24 Javascript
js获取元素的偏移量offset简单方法(必看)
2017/07/05 Javascript
Spring Boot/VUE中路由传递参数的实现代码
2018/03/02 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
2018/09/12 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
2019/04/22 Javascript
JS实现的字符串数组去重功能小结
2019/06/17 Javascript
京东优选小程序的实现代码示例
2020/02/25 Javascript
采用python实现简单QQ单用户机器人的方法
2014/07/03 Python
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
2016/09/21 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
2017/06/15 Python
python实现监控某个服务 服务崩溃即发送邮件报告
2018/06/21 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
2018/10/29 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
2019/04/18 Python
CSS3教程(3):border-color网页边框色彩
2009/04/02 HTML / CSS
英国知名的皮手套品牌:Dents
2016/11/13 全球购物
eBay奥地利站:eBay.at
2019/07/24 全球购物
初中三好学生事迹材料
2014/01/13 职场文书
金融系应届毕业生求职信
2014/05/26 职场文书
公司周年庆活动方案
2014/08/25 职场文书
暑期培训班策划方案
2014/08/26 职场文书
不尊敬老师的检讨书
2014/12/21 职场文书
销售督导岗位职责
2015/04/10 职场文书
2015小学教师年度工作总结
2015/05/12 职场文书
乡镇司法所2015年度工作总结
2015/10/14 职场文书