微信小程序报错: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 相关文章推荐
jQuery中closest()函数用法实例
Jan 07 Javascript
js简单实现Select互换数据的方法
Aug 17 Javascript
浅谈几种常用的JS类定义方法
Jun 08 Javascript
json定义及jquery操作json的方法
Sep 29 Javascript
类似于QQ的右滑删除效果的实现方法
Oct 16 Javascript
JavaScript交换两个变量值的七种解决方案
Dec 01 Javascript
js实现表格筛选功能
Jan 18 Javascript
理解Angular的providers给Http添加默认headers
Jul 04 Javascript
js Date()日期函数浏览器兼容问题解决方法
Sep 12 Javascript
vue实现商品加减计算总价的实例代码
Aug 12 Javascript
js实现简单的无缝轮播效果
Sep 05 Javascript
JavaScript高级程序设计之基本引用类型
Nov 17 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 COOKIE立即生效,不用刷新就可以使用
2011/03/09 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
2016/04/17 PHP
Javascript 圆角div的实现代码
2009/10/15 Javascript
jquery的$(document).ready()和onload的加载顺序
2010/05/26 Javascript
JavaScript 基础篇(一)
2012/03/30 Javascript
javascript 表格内容排序 简单操作示例代码
2014/01/03 Javascript
JavaScript中的apply和call函数详解
2014/07/20 Javascript
javascript实现仿IE顶部的可关闭警告条
2015/05/05 Javascript
盘点javascript 正则表达式中 中括号的【坑】
2016/03/16 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
2016/03/30 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
nodejs操作mysql实现增删改查的实例
2017/05/28 NodeJs
Javasript设计模式之链式调用详解
2018/04/26 Javascript
vue axios数据请求get、post方法及实例详解
2018/09/11 Javascript
JS document内容及样式操作完整示例
2020/01/14 Javascript
JS实现简易留言板增删功能
2020/02/08 Javascript
vue实现标签云效果的示例
2020/11/09 Javascript
微信小程序实现分页加载效果
2020/11/19 Javascript
[01:03:13]VG vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[01:00:49]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第二场 1月31日
2021/03/11 DOTA
用python写的一个wordpress的采集程序
2016/02/27 Python
python django 实现验证码的功能实例代码
2017/05/18 Python
python中文分词教程之前向最大正向匹配算法详解
2017/11/02 Python
python dataframe astype 字段类型转换方法
2018/04/11 Python
利用python打开摄像头及颜色检测方法
2018/08/03 Python
Python pandas如何向excel添加数据
2020/05/22 Python
Python flask框架实现浏览器点击自定义跳转页面
2020/06/04 Python
python 图像插值 最近邻、双线性、双三次实例
2020/07/05 Python
Selenium及python实现滚动操作多种方法
2020/07/21 Python
html5中监听canvas内部元素点击事件的三种方法
2019/04/28 HTML / CSS
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
小学班级特色活动方案
2014/08/31 职场文书
2014年统战工作总结
2014/12/09 职场文书
幼儿园小朋友毕业感言
2015/07/30 职场文书
2016年优秀团支部事迹材料
2016/02/26 职场文书
nginx共享内存的机制详解
2022/03/21 Servers