微信小程序报错: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操作textarea方法集合封装(兼容IE,firefox)
Feb 22 Javascript
jquery DIV撑大让滚动条滚到最底部代码
Jun 06 Javascript
setTimeout()与setInterval()方法区别介绍
Dec 24 Javascript
用js格式化金额可设置保留的小数位数
May 09 Javascript
Backbone.js框架中Model与Collection的使用实例
May 07 Javascript
Javascript获取background属性中url的值
Oct 17 Javascript
js实现PC端和移动端刮卡效果
Mar 27 Javascript
ES6中Array.includes()函数的用法
Sep 20 Javascript
Vue-Router的使用方法
Sep 05 Javascript
使用vue 国际化i18n 实现多实现语言切换功能
Oct 11 Javascript
vue过滤器用法实例分析
Mar 15 Javascript
详解Vue前端对axios的封装和使用
Apr 01 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
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
2011/08/08 PHP
php中serialize序列化与json性能测试的示例分析
2013/04/27 PHP
php 实现一个字符串加密解密的函数实例代码
2016/11/01 PHP
js基于qrcode.js生成二维码的方法【附demo插件源码下载】
2016/12/28 PHP
让FireFox支持innerText的实现代码
2009/12/01 Javascript
把字符串按照特定的字母顺序进行排序的js代码
2014/01/28 Javascript
jQuery中的ready函数与window.onload谁先执行
2016/06/21 Javascript
vue实现ajax滚动下拉加载,同时具有loading效果(推荐)
2017/01/11 Javascript
轻松理解Javascript变量的相关问题
2017/01/20 Javascript
angularjs实现table增加tr的方法
2018/02/27 Javascript
[01:02]DOTA2辉夜杯决赛日 CDEC.Y对阵VG赛前花絮
2015/12/27 DOTA
[48:46]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第二场 11.19
2020/11/19 DOTA
Tornado协程在python2.7如何返回值(实现方法)
2017/06/22 Python
利用Python2下载单张图片与爬取网页图片实例代码
2017/12/25 Python
python批量设置多个Excel文件页眉页脚的脚本
2018/03/14 Python
python监控文件并且发送告警邮件
2018/06/21 Python
对Tensorflow中的变量初始化函数详解
2018/07/27 Python
win10下python3.5.2和tensorflow安装环境搭建教程
2018/09/19 Python
pycharm重置设置,恢复默认设置的方法
2018/10/22 Python
值得收藏,Python 开发中的高级技巧
2018/11/23 Python
Python远程linux执行命令实现
2020/11/11 Python
用pushplus+python监控亚马逊到货动态推送微信
2021/01/29 Python
IE9下html5初试小刀
2010/09/21 HTML / CSS
美国照明、家居装饰和家具购物网站:Bellacor
2017/09/20 全球购物
英国最全面的橄榄球联盟门票网站:Live Rugby Tickets
2018/10/06 全球购物
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
俄罗斯在线购买飞机票、火车票、巴士票网站:Tutu.ru
2020/03/16 全球购物
EntityManager都有哪些方法
2013/11/01 面试题
机电专业大学生求职信
2013/10/04 职场文书
医学院护理专业应届生求职信
2013/11/12 职场文书
数学高效课堂实施方案
2014/03/29 职场文书
最美护士演讲稿
2014/08/27 职场文书
傅雷家书读书笔记
2015/06/29 职场文书
致运动员加油稿
2015/07/21 职场文书
2015秋季田径运动会广播稿
2015/08/19 职场文书
基层医务人员三严三实心得体会
2016/01/05 职场文书