this的指向问题

来源:7-7 ES6箭头函数与this指代

小嘉啊

2018-09-29

Page({

  /**
   * 页面的初始数据
   */
  data: {
   test:1
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    console.log(this.data.test);
    wx.request({
      url: 'http://bl.7yue.pro/v1/classic/latest',
      header: {
        appkey: "MueKWuK8hWFzbtUd"
      },
      success: function(res) {
        console.log(this.data.res)
      }
    })
  },

请问一下老师,为什么用this.data.test能得到data中的数据,this的指向是什么呢?而下面的this怎么得不到data的数据呢

写回答

2回答

qq_那些荒废流年

2019-05-27

前辈你好,因为函数如果发生了嵌套那么this就会隐式丢失

0
0

wykun

2018-10-03

因为onLoad中的this和success中的this不是同一个this,如果有 'function' 这个关键字的时候,这个函数中的this讲不指向这个函数外部的this,如果想和这个函数外部的this相同,需要使用箭头函数替代'function'.

0
0

纯正商业级微信小程序应用实战,全方位小程序特性讲解

真实数据的高质量小程序项目,学会直接工作

4782 学习 · 2125 问题

查看课程