在一般的函数中:

 bindFaChange1: function (e) {
console.log('picker发送选择改变,携带值为', e.detail.value)
this.setData({
index1: e.detail.value
})
}

  this.setData是正确的。

  但当在函数中有个请求(wx.request)时:

 formSubmit: function (e) {
wx.request({
method: 'POST',
header: header,
url: url,
dataType: 'json',
success: function (res) {
this.setData({
data1: true
})
}
})
}

  或者执行定时任务时候:

 var si = setInterval(function () {
that.setData({
sendVerifyingCodeText: curCount + '秒后重新获取'
});
that.setData({
sendSmsCodeDisable: true
});
curCount--;
if (curCount <= 0) {
that.setData({
sendSmsCodeDisable: false
}),
clearInterval(si);
}
}, 1000);

  这样会报错误:this.setData is not a function.

  这个在新的函数内的this代表的是这个函数体,所有是没有this.setData。这个类似java中的this指的是当前对象,但是javascript是以函数为主体的,所以就是this在函数内部就当前函数。修改未:

  解决方法就是 :在请求(wx.request)或者新的非当前js的方法外面添加:var that=this;然后用:

 that.setData({
data1: true
})

微信小程序 this.setData is not a function的更多相关文章

  1. 微信小程序开发——setData的使用技巧

    前言: 之前使用 setData,一直都是作为给变量赋值,感觉比起vue给data中的变量的赋值还是有点麻烦的. 最近项目不太紧张,为了提高小程序的开发效率及提升小程序开发的能力,又重新的通读了下小程 ...

  2. 微信小程序之setData原理以及几点关于小程序的吐槽

    小程序不方便之处: 1: 想做个获取列表中每个item所在的对应滚动条的高度在哪里,或者元素本身的高度也不好获取,极其不方便,网上看的别人做的滚动条相关的,都是写死或者已知的item高度,目前没找到正 ...

  3. 微信小程序 ----- this.getOpenerEventChannel is not a function

    小程序 添加新的功能, 页面跳转后,通过事件的发布订阅,实现 from => to 或者 to=> from 数据传递 1. 跳转到指定页面. 通过 wx.navigateTo() .请参 ...

  4. 微信小程序 this.setData() 详解

    1.定义 setData()函数用于将逻辑层数据发送到视图层,同时对应的改变this.data的值. 2.setData()参数格式 接受一个对象,以键(key)值(value)的方式改变值. 其中, ...

  5. 微信小程序用setData修改数组或对象中的一个属性值

    在page中有如下数组 data: { info:[ { name:"yuki", tou:"../img/head.jpg", zGong:130, gMon ...

  6. 微信小程序用setData给数组对象赋值

    假如现在要给数组marker中的对象属性赋值 data: { marker: [ { latitude: ' ' , longitude: ' ' } ] },   在方法中的写法为   fetchJ ...

  7. 微信小程序中用setData修改一个对象的属性值

    原创文章 1. Page({    data: {      items:{ //items为一个对象,is_like和like分别为其两个属性     is_like: 0,    like: 0 ...

  8. 微信小程序 this.setData 修改json里面的值

    page({ data:{ s1:{a:"",b:"b"} }, changeData:function(e){ var cData=this.data.s1; ...

  9. 微信小程序 - 为何setData到页面上有的加分号

    Page({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function(options) { let _page = t ...

随机推荐

  1. hdu 1263 水果 【二维map】

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1263 题目大意: Problem Description 夏天来了~~好开心啊,呵呵,好多好多水果~~ ...

  2. P2158 [SDOI2008]仪仗队

    P2158 [SDOI2008]仪仗队图是关于y=x对称的,横纵坐标一定是互质的否则在之前就被扫过了,所以就可以用欧拉函数再*2就完了. #include<iostream> #inclu ...

  3. 使用pdfBox实现pdf转图片,解决中文方块乱码等问题

    一.引入依赖 <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>fontbox ...

  4. C# MediaHelper

    using System.Text; public class MediaHelper { private static MediaHelper media = null; private Media ...

  5. Xamarin Essentials教程安全存储SecureStorage

    Xamarin Essentials教程安全存储SecureStorage   在实际应用中,应用程序会将一些数据保存在用户设备中,避免用户重复操作.但是为了防止因设备丢失或者感染病毒导致数据泄漏,需 ...

  6. CCF-学生排队

    PS:此文章已在我的站点更新,请移步访问~更多注释讲解哦.https://www.jeson.xin/ccf-student_queuing.html

  7. BZOJ.4515.[SDOI2016]游戏(树链剖分 李超线段树)

    BZOJ 洛谷 每次在路径上加的数是个一次函数,容易看出是树剖+李超线段树维护函数最小值.所以其实依旧是模板题. 横坐标自然是取个确定的距离标准.取每个点到根节点的距离\(dis[i]\)作为\(i\ ...

  8. Java并发编程(八)-- 死锁

    简介 当两个以上的运算单元,双方都在等待对方停止运行,以获取系统资源,但是没有一方提前退出时,就称为死锁.在多任务操作系统中,操作系统为了协调不同进程,能否获取系统资源时,为了让系统运作,必须要解决这 ...

  9. JavaScript基础笔记(六)BOM

    BOM 一.Window对象 在浏览器中window对象即是全局对象,又是JavaScript访问浏览器的一个接口. 定义全局变量和定义window对象还是有差别的,全局变量不能通过delete操作符 ...

  10. Linux下MySQL 安装配置

    MySQL 是最流行的关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言. MySQL由于其体积小.速度快 ...