微信小程序报错: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 相关文章推荐
北京奥运官方网站幻灯切换效果flash版打包下载
Jan 30 Javascript
jquery.validate分组验证代码
Mar 17 Javascript
基于JQuery的多标签实现代码
Sep 19 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
Jun 24 Javascript
javascript操作字符串的原生方法
Dec 22 Javascript
js显示当前日期时间和星期几
Oct 22 Javascript
JavaScript如何动态创建table表格
Aug 02 Javascript
灵活使用数组制作图片切换js实现
Jul 28 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
Nov 30 Javascript
详解Vue中添加过渡效果
Mar 20 Javascript
详解Angular2响应式表单
Jun 14 Javascript
Vue官网todoMVC示例代码
Jan 29 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
php字符串分割函数explode的实例代码
2013/02/07 PHP
PHP删除HTMl标签的三种解决方法
2013/06/30 PHP
基于php和mysql的简单的dao类实现crud操作功能
2014/01/27 PHP
ThinkPHP缓存方法S()概述
2014/06/13 PHP
PHP随机生成信用卡卡号的方法
2015/03/23 PHP
jquery 选项卡效果 新手代码
2011/07/08 Javascript
基于JQuery实现的类似购物商城的购物车
2011/12/06 Javascript
jquery访问ashx文件示例代码
2014/08/11 Javascript
js实现简单的验证码
2015/12/25 Javascript
深入浅析JavaScript面向对象和原型函数
2016/02/06 Javascript
jQuery插件实现适用于移动端的地址选择器
2016/02/18 Javascript
javascript中FOREACH数组方法使用示例
2016/03/01 Javascript
jQuery表格插件datatables用法汇总
2016/03/29 Javascript
jquery UI Datepicker时间控件的使用及问题解决
2016/04/28 Javascript
jQuery实现可展开折叠的导航效果示例
2016/09/12 Javascript
零基础轻松学JavaScript闭包
2016/12/30 Javascript
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
2017/08/24 Javascript
vue利用better-scroll实现轮播图与页面滚动详解
2017/10/20 Javascript
JS获取数组中出现次数最多及第二多元素的方法
2017/10/27 Javascript
详解weex默认webpack.config.js改造
2018/01/08 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
微信小程序入门之绘制时钟
2020/10/22 Javascript
[11:44]Ti9 OG夺冠时刻
2019/08/25 DOTA
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
2019/06/10 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
TensorFlow实现批量归一化操作的示例
2020/04/22 Python
使用tensorflow框架在Colab上跑通猫狗识别代码
2020/04/26 Python
conda安装tensorflow和conda常用命令小结
2021/02/20 Python
python中openpyxl和xlsxwriter对Excel的操作方法
2021/03/01 Python
后勤园长自我鉴定
2013/10/17 职场文书
敬老模范事迹
2014/05/21 职场文书
2014领导班子“四风问题”对照检查材料思想汇报(执法局)
2014/09/21 职场文书
检察院对照“四风”认真查找问题落实整改措施
2014/09/26 职场文书
护理培训心得体会
2016/01/22 职场文书
24年收藏2000多部退役军用电台
2022/02/18 无线电
Python使用Beautiful Soup(BS4)库解析HTML和XML
2022/06/05 Python