【小程序】全局變量的設置、使用、修改、全局方法執行


問題:

  全局變量在app.json的onLaunch中調用接口去改變全局變量中的值,但是在使用頁面中卻沒有獲取改變之后的值

分析:

  在app.js中定義一個全局方法,在使用的時候執行全局方法,返回的值來改變全局變量的值

廢話不多說,下面是解決方法

在app.js頁面

App({
  globalData: {
    mwxt_mark:false,//全局變量
    isLoad:false
  },
  onLaunch: function () {
    this.getmarkInfo();
  },
  getmarkInfo(){//全局方法
    return new Promise( (resolve,reject) =>{
      if(this.globalData.isLoad){//避免多次調用接口
        resolve(this.globalData.mwxt_mark);
      }else{
        let data = {}
        markRequest({ data })
          .then(res => {
            this.globalData.mwxt_mark = res.data.mwxt_mark;//全局變量在app.js中的修改
            this.globalData.isLoad = true
            resolve(this.globalData.mwxt_mark);
          })
          .catch(err => {
            reject(err);
          })
      }
    })
  },
})

在使用頁面 

//index.js
//獲取應用實例
const app = getApp()

Page({
  data: {
    mwxt_mark: app.globalData.mwxt_mark//全局變量值的獲取
  },
  onLoad: function () {
    app.getmarkInfo().then(res => {//全局方法得執行
      this.setData({
        mwxt_mark:res
      })
    })
  },
})

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM