微信小程序开发中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日

相关文章

  • 微信开发 使用picker封装省市区三级联动模板

    第一部分:整体思路 在微信小程序中使用picker封装省市区三级联动模板的主要思路如下: 引入三个js文件或使用小程序提供的city-data数据源; 定义三个picker组件; 定义三个数据变量,分别存储省、市、区的信息; 根据已选择的省市区信息,筛选对应的城市和地区信息; 监听picker变化事件,更新已选中的省市区信息。 第二部分:具体步骤 引入cit…

    PHP 2023年5月30日
    00
  • php列出一个目录下的所有文件的代码

    PHP可以通过scandir()函数列出指定目录下的所有文件和文件夹。下面是PHP列出一个目录下的所有文件的代码。 首先,需要确定要列出哪个目录下的文件,并将该目录的路径存储在一个字符串变量中: $dir = ‘/path/to/directory’; 接下来,使用scandir()函数获取目录中的所有文件和文件夹: $files = scandir($di…

    PHP 2023年5月26日
    00
  • PHP中读取文件的几个方法总结(推荐)

    来给你详细讲解一下PHP中读取文件的几个方法总结。 1. file_get_contents()方法 基本用法 file_get_contents()方法是PHP内置的一个函数,用于读取文件内容,并返回一个字符串。 $file_path = ‘test.txt’; $content = file_get_contents($file_path); echo …

    PHP 2023年5月26日
    00
  • php数组键名技巧小结

    PHP数组键名技巧小结 在PHP中,数组是一种非常常见的数据结构。数组中的每个元素都有一个键和一个值,键是数组中用来查找值的标识符。在使用PHP数组过程中,掌握一些数组键名的技巧,可以大大提高数组操作效率。 1. 数字键名 数字键名是最容易理解的数组键名类型,在PHP中定义数字键名的方式非常简单,只需要在键名前面添加一个数字即可。例如: $arr = arr…

    PHP 2023年5月26日
    00
  • PHP explode()函数用法、切分字符串

    好的。首先,我们先来了解一下explode()函数的作用。该函数的作用是将一个字符串按照指定的分隔符进行切分,返回一个数组,每个元素都是切分后的子串。下面是该函数的基本语法: array explode ( string $delimiter , string $string [, int $limit = PHP_INT_MAX ] ) 参数说明: $de…

    PHP 2023年5月25日
    00
  • PHPCrawl爬虫库实现抓取酷狗歌单的方法示例

    下面是“PHPCrawl爬虫库实现抓取酷狗歌单的方法示例”的完整攻略。 一、PHPCrawl简介 PHPCrawl是一个基于PHP的爬虫库,可以方便地实现Web数据抓取。它具有以下特点: 使用面向对象的方式编写,易于扩展 可以处理JavaScript、Flash等动态信息 支持多线程抓取 具有强大的HTML解析功能 官方文档:http://phpcrawl.…

    PHP 2023年5月27日
    00
  • 微信小程序实现下拉加载更多商品

    这里我将以 Markdown 格式进行详细讲解“微信小程序实现下拉加载更多商品”的完整攻略,主要包含以下几个步骤: 在页面中使用 scroll-view 接管滚动事件 在 scroll-view 上绑定触底事件 发送网络请求获取数据 将数据渲染到页面上 每次加载数据时更新分页参数,避免重复请求 以下是完整的实现过程: 步骤一:使用 scroll-view 接…

    PHP 2023年5月23日
    00
  • 全面屏时代的微边框 戴尔XPS 15-9570笔记本电脑详细图文评测

    全面屏时代的微边框 戴尔XPS 15-9570笔记本电脑详细图文评测 背景 在当今科技发展日新月异的时代,全面屏手机越来越普及,各大电脑厂商也纷纷推出了全面屏电脑。而其中,戴尔的XPS系列被称为全面屏电脑的代表之一。本次评测将详细讲解戴尔XPS 15-9570笔记本电脑的特点和性能,为大家提供选购参考。 特点 微边框设计 全面屏电脑的最大特点就是采用了微边框…

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