限时免费试用:欢迎注册 api.bigmodel.org ,快速体验大模型 API 接入服务。

小程序

小程序中在解决在回调success中无法使用data数据解决方案

问题: Page({ /** * 页面的初始数据 */ data: { ss:'11' }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { console.log(this.data.ss)//可打印 wx.request({ url: 'http://**********', data: '',

作者
王明昌
发布时间
问题:
Page({

  /**
   * 页面的初始数据
   */
  data: {
    ss:'11'
  
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(this.data.ss)//可打印
    wx.request({
      url: 'http://**********',
      data: '',
      header: {
        appkey: '******IXd9qP0'
      },
      method: 'GET',
      dataType: 'json',
      responseType: 'text',
      success: function(res) {
        console.log(res)
        console.log(this.data.ss) //会报错
      },
      
    })
  },
}
解决1:
Page({

  /**
   * 页面的初始数据
   */
  data: {
    ss:'11'
  
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(this.data.ss)//可打印
    let that=this   ///////////////////解决方案1
    wx.request({
      url: 'http://**********',
      data: '',
      header: {
        appkey: '******IXd9qP0'
      },
      method: 'GET',
      dataType: 'json',
      responseType: 'text',
      success: function(res) {
        console.log(res)
        console.log(that.data.ss) //正常显示
      },
      
    })
  },
}
解决2 使用es6箭头函数
Page({

  /**
   * 页面的初始数据
   */
  data: {
    ss:'11'
  
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(this.data.ss)//可打印
    wx.request({
      url: 'http://**********',
      data: '',
      header: {
        appkey: '******IXd9qP0'
      },
      method: 'GET',
      dataType: 'json',
      responseType: 'text',
      success:(res)=> {
        console.log(res)
        console.log(this.data.ss) //正常显示
      },
      
    })
  },
}
0/500
友善分享您的看法。
反馈邮箱