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

标题:微信小程序开发中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随机字符串生成代码(包括大小写字母)

    生成随机字符串是WEB应用程序中经常遇到的一个问题,例如用于生成验证码或随机令牌等。在PHP中,可以通过使用rand()或mt_rand()函数结合使用字符串函数来生成随机字符串。以下是一个完整的攻略来生成包含大小写字母的随机字符串。 1. 使用rand()函数生成随机数 rand()函数是PHP中常用的生成随机数的函数,它可以生成一个介于两个指定整数之间的…

    PHP 2023年5月23日
    00
  • 培养自己的php编码规范

    下面是培养自己的PHP编码规范的完整攻略: 1.了解常见的PHP编码规范 要想培养自己的PHP编码规范,首先需要了解常见的PHP编码规范。常见的PHP编码规范有PSR-2、PSR-4等,这些规范是由PHP-FIG(PHP Framework Interoperability Group)制定的。可以去PHP-FIG的官网上查看这些规范的详细内容。 2.采用开…

    PHP 2023年5月23日
    00
  • HTML中嵌入PHP的简单方法

    在HTML中嵌入PHP代码是非常常见的一种方式,可以让我们动态的生成页面内容。下面是一个简单的步骤: 1.在HTML文件中使用PHP 我们可以在 HTML 文件中使用 PHP 代码,让 PHP 代码动态地生成 HTML 页面的内容。 要在 HTML 文件中使用 PHP 代码,必须将文件扩展名从 .html 更改为 .php。例如,将 index.html 更…

    PHP 2023年5月23日
    00
  • 简单介绍PHP非阻塞模式

    当请求后端服务器时,传统的做法是一直等待直到后端返回数据,然后再进行下一个请求。而PHP非阻塞模式可以让程序在等待请求返回的同时,进行其他的操作,并且能够让多个请求同时发出,这种模式适用于需要处理高并发、高吞吐量的场景。以下是PHP非阻塞模式的详细讲解: 什么是PHP非阻塞模式? PHP非阻塞模式是一种异步IO的编程模式,相比传统的同步IO模式,能够在等待请…

    PHP 2023年5月27日
    00
  • 微信小程序 图片绝对定位(背景图片)

    微信小程序中可以使用绝对定位来实现图片的定位,可以借助CSS中的position属性和top、right、bottom、left属性来设定图片的位置。同时,可以将一张图片设置为背景图片去实现背景的绝对定位。 以下是实现微信小程序中图片绝对定位的攻略: 1. 使用position属性 可以在CSS中将图片的position属性设置为absolute,表示该元素…

    PHP 2023年5月23日
    00
  • php实现的简单压缩英文字符串的代码

    实现压缩英文字符串的代码最常见的方法是使用 Run-length encoding(即 RLE 算法)。该算法基于将一个字符序列转换为一个新的字符序列,并且仅记录相邻重复符号的计数。例如,在字符串 AAABBC 上进行 RLE 编码后,得到的结果将是 A3B2C1。 下面是一个 PHP 实现的简单压缩英文字符串的代码: function compressSt…

    PHP 2023年5月26日
    00
  • php实现的在线人员函数库

    下面为您讲解“PHP实现的在线人员函数库”的完整攻略。 什么是PHP实现的在线人员函数库 PHP实现的在线人员函数库,是一个基于PHP语言开发的库,其中包含了一系列的与人员相关的函数,如获取用户IP地址、判断是否是手机访问、生成随机昵称等。使用这个库可以大大简化开发人员的代码书写工作,提高开发效率,同时也方便开发人员管理人员相关的数据。 如何使用PHP实现的…

    PHP 2023年5月27日
    00
  • PHP pathinfo()获得文件的路径、名称等信息说明

    要获得文件的路径、文件名、扩展名等信息,可以使用PHP的pathinfo()函数。该函数接收一个参数,即文件路径字符串,返回一个数组,包含文件路径、文件名、扩展名等信息。下面是详细的攻略: 函数格式 pathinfo( $path, $options ); 其中,$path 表示文件路径字符串,$options 是可选参数,可以设置返回信息的方式。 返回值 …

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