关于函数无法调用赋值后的数据?

Written by

in

文章目录

3小时前小编发现微信小程序用户:【watame】提出了一个关于“关于函数无法调用赋值后的数据?”的问题,在问题中开发者watame对该问题做了如下阐述:


  • API和组件:

data: {
region: [],
locationID: null
},

// 切换城市函数
  changeRegion(e) {
    this.setData({
      region: e.detail.value
    })

    // 切换完成后调用getLocationID获取城市locationID
    this.getLocationID()
    // 然后调用getWeather()获取城市天气信息
    this.getWeather()
  },

  // 获取城市locationID
  getLocationID() {
    wx.request({
      url: ‘###############################’,
      method: “GET”,
      data: {
        key: “##########################”,
        location: this.data.region[2],
        adm: this.data.region[1]
      },

      success: (res) => {
        this.setData({
// 更新当前城市的locationID
          locationID: res.data.location[0].id
        })
      }
    })
  },

  // 获取天气信息
  getWeather() {
    wx.request({
      url: ‘#####################’,
      method: “GET”,
      data: {
        key: “################”,
        location: this.data.locationID
      },

      success: (res) => {
        console.log(res.data.now)
      }
    })
  },

天气查询小程序

第一个函数切换城市名

第二个函数根据城市名获取对应的locationID

第二个函数根据locationID获取对应的天气

默认的locationID设置为null

输入第一个城市名,得到了城市id1,赋值给变量locationID

等获取天气时拿到的locationID却是初始值null,结果返回undefine

第二次调用的结果是第一次设置的天气,每一次调用的结果都是上一次设置的城市天气……

在request前加上 var that = this,改所有的this为that也是一样的结果

刚刚接触小程序,还望多多指教!

注:以上是微信小程序开发者:”watame”对于本问题的一些阐述,这里做一个引用,我们将实时关注微信小程序助手对该问题提出的解决方案。

【3小时前】微信小程序技术运营专员对用户watame提出的关于函数无法调用赋值后的数据?给予如下回复

异步的问题,写在setdata的回调里面吧

微信官方智能小程序的月活用户超过1.5亿,现在有着40多个流量入口,未来估计能够达到70多个。微信官方小程序不仅可以运行在微信官方系列的产品上,像例如爱奇艺、携程等,都是支持微信官方小程序运行的,这个数量高达40多个。像这样情况,对企业来说,这将意味着接触到更多的用户,微信官方的小程序的开放申请就又为企业在新移动时代的网络营销多了一个选择和流量阵地。

如果您也在使用微信小程序,请关注我们,如果您有关于微信小程序的使用问题请关注我们,如果您要找百度小程序模板、微信小程序模板请关注小程序模板网或者去微信开放社区找官方人员给予解决,相信微信官方在小程序上的发力会是一个里程碑!

站内搜索