微信小程序报错: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 相关文章推荐
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
Nov 30 Javascript
js 金额格式化来回转换示例
Feb 23 Javascript
javascript获取checkbox复选框获取选中的选项
Aug 12 Javascript
JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
Oct 17 Javascript
JavaScript实现查找字符串中第一个不重复的字符
Dec 29 Javascript
js中利用cookie实现记住密码功能
Aug 20 Javascript
用AngularJS来实现监察表单按钮的禁用效果
Nov 02 Javascript
javascript中json基础知识详解
Jan 19 Javascript
xmlplus组件设计系列之按钮(2)
Apr 26 Javascript
javascript编程开发中取色器及封装$函数用法示例
Aug 09 Javascript
vuejs 制作背景淡入淡出切换动画的实例
Sep 01 Javascript
Vue cli3 库模式搭建组件库并发布到 npm的流程
Oct 12 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
在windows iis5下安装php4.0+mysql之我见
2006/10/09 PHP
Ajax+PHP 边学边练 之二 实例
2009/11/24 PHP
PHP实现读取一个1G的文件大小
2013/08/24 PHP
改写函数实现PHP二维/三维数组转字符串
2013/09/13 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
详解PHP错误日志的获取方法
2015/07/20 PHP
深入分析PHP优化及注意事项
2016/07/04 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
laravel 字段格式化 modle 字段类型转换方法
2019/09/30 PHP
js制作的鼠标悬浮时产生的下拉框效果
2012/10/27 Javascript
子窗体与父窗体传值示例js代码
2013/08/01 Javascript
二叉树的非递归后序遍历算法实例详解
2014/02/07 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
2014/05/01 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
2014/08/01 Javascript
JQuery select(下拉框)操作方法汇总
2015/04/15 Javascript
js实现带缓冲效果的仿QQ面板折叠菜单代码
2015/09/06 Javascript
js中对函数设置默认参数值的3种方法
2015/10/23 Javascript
Vue.js结合bootstrap实现分页控件
2017/03/10 Javascript
使用Layui搭建后台管理界面的操作方法
2019/09/20 Javascript
jQuery实现动态向上滚动
2020/12/21 jQuery
纯python实现机器学习之kNN算法示例
2018/03/01 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
python/Matplotlib绘制复变函数图像教程
2019/11/21 Python
keras中模型训练class_weight,sample_weight区别说明
2020/05/23 Python
10行Python代码实现Web自动化管控的示例代码
2020/08/14 Python
python处理写入数据代码讲解
2020/10/22 Python
python中entry用法讲解
2020/12/04 Python
Holland & Barrett爱尔兰:英国领先的健康零售商
2019/03/31 全球购物
匈牙利超级网上商店和优惠:Alza.hu
2019/12/17 全球购物
车间组长岗位职责
2013/12/20 职场文书
职业女性的职业规划
2014/03/04 职场文书
银行行长竞聘演讲稿
2014/04/23 职场文书
十佳好少年事迹材料
2014/08/21 职场文书
2014年民政工作总结
2014/11/26 职场文书
python入门之算法学习
2021/04/22 Python
浅谈音视频 pts dts基本概念及理解
2022/08/05 数码科技