欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

微信小程序之回调函数中用setData

程序员文章站 2022-06-04 14:24:57
...

起因: 想在某个回调函数中用setData 改变值

出错的代码:

 Page({
  data: {
    userinfo : 'notknow'
  },
  getuser1 : function(){
    console.log('hello');
    wx.getSystemInfo({
      success: function(res) {
        console.log(res)
        that.setData({
          userinfo: '???'
        })
      },
    })
  },

我们发现这样做了以后并不能在getsysteminfo里面改变userinfo的值,经过查阅资料以后,得知是因为success返回的是闭包
所以为了解决问题,我们在其中加入一行语句
const that = this;

Page({

  /**
   * 页面的初始数据
   */
  data: {
    userinfo : 'notknow'
  },

  getuser1 : function(){
    const that = this;
    
    console.log('hello');
    
    wx.getSystemInfo({
      success: function(res) {
        console.log(res)
        that.setData({
          userinfo: '???'
        })
      },
    })
  },
相关标签: 小程序 小程序