微信小程序报错: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扩展插件Validate 3通过参数设置错误信息
Sep 05 Javascript
js滚动条回到顶部的代码
Dec 06 Javascript
基于JQuery实现鼠标点击文本框显示隐藏提示文本
Feb 23 Javascript
javascript学习笔记(四) Number 数字类型
Jun 19 Javascript
浅析js绑定事件的常用方法
May 15 Javascript
使用express+multer实现node中的图片上传功能
Feb 02 Javascript
JavaScript数组去重算法实例小结
May 07 Javascript
看看“疫苗查询”小程序有温度的代码
Jul 31 Javascript
vue实现文件上传功能
Aug 13 Javascript
解决使用bootstrap的dropdown部件时报错:error:Bootstrap dropdown require Popper.js问题
Aug 30 Javascript
javascript获取select值的方法完整实例
Jun 20 Javascript
layer.open回调获取弹出层参数的实现方法
Sep 10 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中VC6、VC9、TS、NTS版本的区别与用法详解
2013/10/26 PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
2014/06/12 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
2016/03/25 PHP
详谈PHP程序Laravel 5框架的优化技巧
2016/07/18 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
2016/09/30 PHP
完美的php分页类
2017/10/24 PHP
Laravel学习教程之request validation的编写
2017/10/25 PHP
硬盘浏览程序,保存成网页格式便可使用
2006/12/03 Javascript
Ext 表单布局实例代码
2009/04/30 Javascript
js左侧三级菜单导航实例代码
2013/09/13 Javascript
使用JS取得焦点(focus)元素代码
2014/03/22 Javascript
node.js WEB开发中图片验证码的实现方法
2014/06/03 Javascript
jQuery循环滚动新闻列表示例代码
2014/06/17 Javascript
完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效
2014/11/12 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
2015/08/04 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
手机软键盘弹出时影响布局的解决方法
2016/12/15 Javascript
原生js实现简单的Ripple按钮实例代码
2017/03/24 Javascript
JavaScript实现鼠标滚轮控制页面图片切换功能示例
2017/10/14 Javascript
原生JavaScrpit中异步请求Ajax实现方法
2017/11/03 Javascript
详解JS转换数值函数Number()、parseInt()、parseFloat()
2018/08/24 Javascript
js中Generator函数的深入讲解
2019/04/07 Javascript
[03:37]2016完美“圣”典 风云人物:Mikasa专访
2016/12/07 DOTA
Python实现TCP/IP协议下的端口转发及重定向示例
2016/06/14 Python
解决Python中回文数和质数的问题
2019/11/24 Python
python FTP批量下载/删除/上传实例
2019/12/22 Python
python爬虫容易学吗
2020/06/02 Python
如何用python免费看美剧
2020/08/11 Python
利用css3如何设置没有上下边的列表间隔线
2017/07/03 HTML / CSS
amazeui页面分析之登录页面的示例代码
2020/08/25 HTML / CSS
绿色学校实施方案
2014/03/31 职场文书
法人代表授权委托书范文
2014/09/10 职场文书
党的群众路线教育实践活动个人对照检查材料(教师)
2014/11/04 职场文书
2015人事行政工作总结范文
2015/05/21 职场文书
python基于tkinter制作下班倒计时工具
2021/04/28 Python
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android