微信小程序开发中var that =this的用法详解

yizhihongxing

标题:微信小程序开发中var that = this的用法详解

如果在小程序开发过程中,涉及到函数嵌套或者回调函数中需要使用到外部的this时,就需要用到var that = this的语法。因为在回调函数内部,this指向的是回调函数本身,而不是最初的作用域。

具体步骤如下:

  1. 在最开始的作用域中,先定义一个变量that,并将该作用域的this赋值给该变量。
Page({
  data: {
    name: '小明',
    age: 18
  },

  onLoad: function () {
    var that = this;
    wx.request({
      url: 'https://xxx.xx/api/getUserInfo',
      success: function (res) {
        // 在回调函数中使用that,而不是this
        console.log(that.data.name);
      }
    })
  }
})

在该例子中,我们可以看到在Page定义的作用域中,先定义了一个that变量,并将该作用域的this赋值给该变量。在onLoad函数中,我们发起了一个异步请求,当请求成功后,会执行success回调函数。由于回调函数内部的this指向的是回调函数本身,如果我们需要获取Page定义的作用域中的data变量,就需要使用that.data了。

  1. 另外一个使用var that = this的例子是在定义一个自执行函数时。
Page({
  data: {
    name: '小明',
    age: 18
  },

  onLoad: function () {
    (function (that) {
      console.log(that.data.age);
    })(this)
  }
})

在该例子中,我们定义了一个自执行函数,该函数接受一个参数that,并在函数内部打印了that.data.age。通过把Page定义的作用域的this传入该自执行函数,并在该函数内部使用that.data来获取data的值,而不是在回调函数内部使用this。

以上两个例子都是在小程序开发中常见的使用var that = this语法的场景,希望对广大开发者有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:微信小程序开发中var that =this的用法详解 - Python技术站

(1)
上一篇 2023年5月30日
下一篇 2023年5月30日

相关文章

  • php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍

    PHP数组函数序列 之shuffle()和array_rand() 随机函数使用介绍 在PHP中,数组是非常常用的数据类型之一,对数组的操作也是非常频繁,其中,针对数组的随机函数shuffle()和array_rand()也是非常常用的。本篇文章将详细讲解这两个随机函数的使用方法。 shuffle()函数 函数说明 shuffle()函数可将数组随机排序。 …

    PHP 2023年5月26日
    00
  • PHP实现倒计时功能

    下面是PHP实现倒计时功能的完整攻略。 步骤一:定义倒计时结束时间 首先,你需要定义倒计时结束的时间,可以用PHP中的date()函数进行定义。比如,我们定义倒计时结束时间为2022年1月1日 00:00:00。 $endtime = strtotime(‘2022-01-01 00:00:00’); 步骤二:计算倒计时剩余时间 接下来,你需要计算倒计时剩余…

    PHP 2023年5月27日
    00
  • PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解

    当谈及PHP中的面向对象编程时,抽象、最终和静态是三个重要的关键词。它们各自都有非常特殊的意义和作用,下面将全面深入地讲解这三个关键词的原理和用法。 abstract(抽象) 抽象类不能被实例化,它仅仅是一个被继承的模板类。它的主要目的是让派生类可以简单地继承并且实现或者重写模板的一些方法或属性。通常情况下,抽象类中会定义一组抽象方法或属性,由子类去完成这些…

    PHP 2023年5月26日
    00
  • php使用异或实现的加密解密实例

    下面是详细的讲解“PHP使用异或实现的加密解密实例”的攻略: 理解异或运算 在介绍加密解密实例之前,需要先了解异或运算。异或是一种位运算,用符号“^”表示。它有以下规则: 两个数的对应位相同时,结果为0。 两个数的对应位不同时,结果为1。 例如,对于两个二进制数1100和1010,进行异或运算,得到结果为0110。 基于异或的加密解密实例 使用异或实现加密解…

    PHP 2023年5月27日
    00
  • php单态设计模式(单例模式)实例

    关于“php单态设计模式(单例模式)实例”的完整攻略,我可以提供以下内容: 什么是单例模式? 单例模式是一种常见的设计模式,其核心思想是在整个应用程序中,确保某个类只有一个实例,并且提供单一的全局访问点,以方便其他对象使用。 单例模式的实现方式 单例模式的实现方式有很多种,其中比较常见的实现方式有两种: 饿汉模式 饿汉模式是指在程序启动时就立即加载并创建单例…

    PHP 2023年5月27日
    00
  • PHP实现的无限分类类库定义与用法示例【基于thinkPHP】

    下面就来详细讲解一下 “PHP实现的无限分类类库定义与用法示例【基于thinkPHP】” 的完整攻略。 什么是无限分类 无限分类是指一个分类下可以有无限多个子分类,而每个子分类也可以有无限多个自己的子分类,如此往复,构成了一个无限层次的分类结构。 怎样实现无限分类 要实现无限分类,需要用到递归算法。在 PHP 中,可以使用类来封装无限分类的处理逻辑,提高代码…

    PHP 2023年5月26日
    00
  • PHP简单判断手机设备的方法

    下面是关于“PHP简单判断手机设备的方法”的攻略。 1.使用PHP函数get_browser() 使用PHP函数get_browser()可以获取访问者的浏览器类型、版本、外壳、以及是否为移动设备等信息,从而判断是否为手机设备。 示例代码如下: //获取浏览器信息 $browser = get_browser(null, true); if ($browse…

    PHP 2023年5月26日
    00
  • php通过array_unshift函数添加多个变量到数组前端的方法

    当我们需要向PHP数组的前端添加多个元素时,可以使用PHP的array_unshift函数。使用array_unshift函数,可以将一个或多个值插入到数组的开头。以下是完整的攻略: 函数语法 array_unshift ( array &$array , mixed $var [, mixed $… ] ) : int 此函数将一个或多个元素插…

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部