微信小程序报错: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 相关文章推荐
JS 中document.URL 和 windows.location.href 的区别
Nov 11 Javascript
jQuery实战之仿淘宝商城左侧导航效果
Apr 12 Javascript
超炫的jquery仿flash导航栏特效
Nov 11 Javascript
javascript中innerText和innerHTML属性用法实例分析
May 13 Javascript
基于Jquery实现仿百度百科右侧导航代码附源码下载
Nov 27 Javascript
jQuery实现定位滚动条位置
Aug 05 Javascript
js实现定时进度条完成后切换图片
Jan 04 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
Aug 21 Javascript
详解webpack babel的配置
Jan 09 Javascript
深入理解ES6之数据解构的用法
Jan 13 Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
Jul 29 Javascript
JavaScript实现沿五角星形线摆动的小圆实例详解
Jul 28 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
第八节 访问方式 [8]
2006/10/09 PHP
zf框架的zend_cache缓存使用方法(zend框架)
2014/03/14 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
2014/12/15 PHP
php生成唯一的订单函数分享
2015/02/02 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
PHP大文件切割上传功能实例分析
2019/07/01 PHP
该如何加载google-analytics(或其他第三方)的JS
2010/05/13 Javascript
javascript转换日期字符串为Date日期对象的方法
2015/02/13 Javascript
JQuery中clone方法复制节点
2015/05/18 Javascript
jQuery基于cookie实现的购物车实例分析
2015/12/24 Javascript
JS 清除字符串数组中,重复元素的实现方法
2016/05/24 Javascript
Vue.js实现一个todo-list的上移下移删除功能
2017/06/26 Javascript
vue下使用nginx刷新页面404的问题解决
2019/08/02 Javascript
JS中封装axios来管控api的2种方式
2019/09/11 Javascript
js判断鼠标移入移出方向的方法
2020/06/24 Javascript
javascript实现贪吃蛇小游戏
2020/07/28 Javascript
python迭代器的使用方法实例
2013/11/21 Python
python中list列表的高级函数
2016/05/17 Python
Python使用Django实现博客系统完整版
2020/09/29 Python
浅述python中深浅拷贝原理
2018/09/18 Python
selenium2.0中常用的python函数汇总
2019/08/05 Python
在tensorflow中设置使用某一块GPU、多GPU、CPU的操作
2020/02/07 Python
多个python文件调用logging模块报错误
2020/02/12 Python
PYQT5 vscode联合操作qtdesigner的方法
2020/03/24 Python
python 使用递归的方式实现语义图片分割功能
2020/07/16 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
2020/11/24 Python
CSS3教程:新增加的结构伪类
2009/04/02 HTML / CSS
Static Nested Class 和 Inner Class的不同
2013/11/28 面试题
大学生就业自我鉴定
2013/10/26 职场文书
个人自我剖析材料
2014/02/07 职场文书
视光学毕业生自荐书范文
2014/02/13 职场文书
绿色学校实施方案
2014/03/31 职场文书
生日庆典策划方案
2014/06/02 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
委托书的样本
2015/01/28 职场文书