1. 程式人生 > >(微信小程式)onload()載入不到app.globalData全域性變數的值

(微信小程式)onload()載入不到app.globalData全域性變數的值

onLoad()載入不到app.globalData全域性變數的值

app.js

  globalData: {
    statusResult:null,
  }

index.js

      wx.request({
         url: 'xxx',
         method: 'POST',
         header: {
           'content-type': 'application/json',
         },
         success: function (res) {
           var dataInfo = res.data.data;
           var name = [];
           for (let i in dataInfo) {
             name  = dataInfo[i].Items.name
           }
           app.globalData.statusResult = name;  //把資料存到全域性變數中
         }
       })

device.js

data: {
    statusResult:[]
  },
  onLoad: function () {
    this.setData({
      statusResult: app.globalData.statusResult  
    })
  },

我最後打印出來的結果,是先執行decive.js中的onload(),獲取到的全域性變數是null,然後再執行的index.js中的請求。 試了好多方法,最後還是加了個loading 和定時器解決了這個問題

    var that = this;
    wx.showLoading({
      title: '載入中',
    })
    setTimeout(function () {
      that.setData({
        statusResult : app.globalData.statusResult
      })
      wx.hideLoading()
    }, 1000)