文档章节

微信小程序this和that

别寒
 别寒
发布于 2017/02/08 15:45
字数 309
阅读 1625
收藏 0

微信小程序中,在wx.request({});方法调用成功或者失败之后,有时候会需要获取页面初始化数据data的情况,这个时候,如果使用,this.data来获取,会出现获取不到的情况,调试页面也会报undefiend。原因是,在javascript中,this代表着当前对象,会随着程序的执行过程中的上下文改变,在wx.request({});方法的回调函数中,对象已经发生改变,所以已经不是wx.request({});方法对象了,data属性也不存在了。官方的解决办法是,复制一份当前的对象,如下:

var that=this;//把this对象复制到临时变量that

在success回调函数中使用that.data就能获取到数据了。

不过,还有另外一种方式,也很特别,是将success回调函数换一种声明方式,如下:

success: res =>{
    this.setData({
            loadingHidden: true,
            hideCommitSuccessToast: false
    })
}

在这种方式下,this可以直接使用,完全可以获取到data数据。

再给一个完整的例子:

      success: res => {
        if (res.data.code != 0) {
          // 提交失败
          this.setData({
            loadingHidden: true,
            hiddenTips: false,
            tipsContent: res.data.message
          })
        } else {
          // 提交成功
          this.setData({
            loadingHidden: true,
            hideCommitSuccessToast: false
          })
          subBtn = false;

          // 定时,3秒消失
          setTimeout(() => {
            this.setData({
              hideCommitSuccessToast: true
            })
            wx.navigateBack({ delta: 2 });
          }, 2000);

        }
      }

© 著作权归作者所有

共有 人打赏支持
别寒
粉丝 30
博文 272
码字总数 138664
作品 0
永州
程序员
私信 提问
加载中

评论(5)

知晓程序
知晓程序

引用来自“别寒”的评论

引用来自“知晓程序”的评论

引用来自“别寒”的评论

引用来自“知晓程序”的评论

你好!我们是爱范儿旗下专注于小程序生态的公众号知晓程序(微信号 zxcx0101)。我们很赞赏你的文章,希望能获得转载授权。授权后,你的文章将会在知晓程序社区(minapp.com)、爱范儿、AppSo 等渠道发布。此外,由于第三方同步抓取功能,您的内容也可能会被同步发表到今日头条、搜狐、网易号等,我们会注明来源和作者姓名。

非常感谢~~~

回复@知晓程序 : 谢谢你的喜欢,有需要的话可以转载,多谢分享。还有,请问可以注明我的名字吗?我的名字是何洪波,qq:1654605193

回复@别寒 : 好的没有问题~
不好意思哈,有个不情之请,可以麻烦您把转载后的文章地址给我吗?我在您的公众号里没找到,麻烦您转载之后发下地址给我哈,谢谢啊~~~

回复@别寒 : https://minapp.com/thread/12387/ 你好,我们现在暂时先放在了论坛版块。感谢您的支持~
别寒
别寒

引用来自“知晓程序”的评论

引用来自“别寒”的评论

引用来自“知晓程序”的评论

你好!我们是爱范儿旗下专注于小程序生态的公众号知晓程序(微信号 zxcx0101)。我们很赞赏你的文章,希望能获得转载授权。授权后,你的文章将会在知晓程序社区(minapp.com)、爱范儿、AppSo 等渠道发布。此外,由于第三方同步抓取功能,您的内容也可能会被同步发表到今日头条、搜狐、网易号等,我们会注明来源和作者姓名。

非常感谢~~~

回复@知晓程序 : 谢谢你的喜欢,有需要的话可以转载,多谢分享。还有,请问可以注明我的名字吗?我的名字是何洪波,qq:1654605193

回复@别寒 : 好的没有问题~
不好意思哈,有个不情之请,可以麻烦您把转载后的文章地址给我吗?我在您的公众号里没找到,麻烦您转载之后发下地址给我哈,谢谢啊~~~
知晓程序
知晓程序

引用来自“别寒”的评论

引用来自“知晓程序”的评论

你好!我们是爱范儿旗下专注于小程序生态的公众号知晓程序(微信号 zxcx0101)。我们很赞赏你的文章,希望能获得转载授权。授权后,你的文章将会在知晓程序社区(minapp.com)、爱范儿、AppSo 等渠道发布。此外,由于第三方同步抓取功能,您的内容也可能会被同步发表到今日头条、搜狐、网易号等,我们会注明来源和作者姓名。

非常感谢~~~

回复@知晓程序 : 谢谢你的喜欢,有需要的话可以转载,多谢分享。还有,请问可以注明我的名字吗?我的名字是何洪波,qq:1654605193

回复@别寒 : 好的没有问题~
别寒
别寒

引用来自“知晓程序”的评论

你好!我们是爱范儿旗下专注于小程序生态的公众号知晓程序(微信号 zxcx0101)。我们很赞赏你的文章,希望能获得转载授权。授权后,你的文章将会在知晓程序社区(minapp.com)、爱范儿、AppSo 等渠道发布。此外,由于第三方同步抓取功能,您的内容也可能会被同步发表到今日头条、搜狐、网易号等,我们会注明来源和作者姓名。

非常感谢~~~

回复@知晓程序 : 谢谢你的喜欢,有需要的话可以转载,多谢分享。还有,请问可以注明我的名字吗?我的名字是何洪波,qq:1654605193
知晓程序
知晓程序
你好!我们是爱范儿旗下专注于小程序生态的公众号知晓程序(微信号 zxcx0101)。我们很赞赏你的文章,希望能获得转载授权。授权后,你的文章将会在知晓程序社区(minapp.com)、爱范儿、AppSo 等渠道发布。此外,由于第三方同步抓取功能,您的内容也可能会被同步发表到今日头条、搜狐、网易号等,我们会注明来源和作者姓名。

非常感谢~~~
前端资源系列(3)-微信小程序开发资源汇总

微信(小程序or应用号)开发资源汇总-文档-工具-教程-代码-插件-组件 文档 从搭建一个微信小程序开始 小程序开发文档 小程序设计指南 工具 小程序开发者工具 - 官方 Egret Wing 3.2.x 支持微信...

xzavier
2018/08/27
0
0
小程序 大假期,技术猿国庆假期的正确打开方式…

明天(10月1日)就是国庆黄金7天假了。作为技术猿,除了美美的睡一觉好像也没啥别的事了。与其窝在家里玩手机刷朋友圈,不如做个小程序玩玩。 微信小程序开发正当时,没有内测资格不要紧。这...

凝小紫
2016/09/30
5.7K
11
掘金开发者大会 ∙ 微信小程序专场

掘金开发者大会 ∙ 微信小程序专场正式启动 一场迟来的聚会 自2017年1月微信小程序正式上线以来,应用数与开发者数持续增长,目前已经有超过100万个微信小程序发布且相关开发者也超过了150万...

掘金
2018/08/07
4
0
微信小程序开发者文档教程,从入门到精通 (附超过100个完整项目源代码、文档)

微信小程序开发者文档官网地址 https://mp.weixin.qq.com/debug/wxadoc/dev/index.html 微信小程序教程资料和开发工具大全,文档、代码、例子、工具 http://download.csdn.net/detail/wyx100...

刘重洋
2018/06/27
0
0
微信小程序商店 | 即速商店_小程序流量平台

微信小程序商店 | 即速商店 即速应用商店-分类最齐全的微信小程序商店,收录当前最新最热门小程序,汇集各行业小程序案例及评测,在这里可以轻松找到各种实用好玩的小程序,也可 免费发布 自...

jisuapp
2018/02/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot项目如何访问jsp页面

1.添加pom依赖 首先在原来的pom文件基础上加上这两个配置 如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级交流:7877071...

编程SHA
24分钟前
3
0
nginx反向代理配置去除前缀

使用nginx做反向代理的时候,可以简单的直接把请求原封不动的转发给下一个服务。设置proxy_pass请求只会替换域名,如果要根据不同的url后缀来访问不同的服务,则需要通过如下方法: 方法一:...

架构师springboot
57分钟前
5
0
QianBill API 开发笔记

JWT

BeanHo
今天
5
0
Elasticsearch实战篇——Spring Boot整合ElasticSearch

当前Spring Boot很是流行,包括我自己,也是在用Spring Boot集成其他框架进行项目开发,所以这一节,我们一起来探讨Spring Boot整合ElasticSearch的问题。 本文主要讲以下内容: 第一部分,通...

JAVA_冯文议
今天
4
0
不错的linux下通用的java程序启动脚本

#!/bin/sh#该脚本为Linux下启动java程序的通用脚本。即可以作为开机自启动service脚本被调用,#也可以作为启动java程序的独立脚本来使用。##Author: tudaxia.com, Date: 2011/6/7...

sprouting
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部