收藏
回答

挂载公众号菜单小程序第二个页面,获取不到app.js里的全局变量?

小程序第二个页面挂载公众号菜单里面,获取不到app.js里的全局变量,显示为undefined?如果从第一个页面跳转到第二页面时候,可以正常获取全局变量。

回答关注问题邀请回答
收藏

4 个回答

  • 无言
    无言
    发表于小程序端
    2020-10-16
    我有个问题:时间这种东西为啥要用全局变量存起来?你别的页面再用的时候,时间不是已经变了吗?别的页面直接调函数app.getserverdate()更合理吗?
    2020-10-16
    有用
    回复 10
    • 无言
      无言
      发表于小程序端
      2020-10-16
      你这样弄,第二个页面取值的时候,app.js的onlunch不一定已经拿到Serverdate了啊
      2020-10-16
      回复
    • 悟
      2020-10-16
      没有存起来的,是直接调函数app.getserverdate()的,就是拿不到显示NAN
      2020-10-16
      回复
    • 无言
      无言
      发表于小程序端
      2020-10-16回复
      你贴的代码里面写的app.gldata.xxx啊
      2020-10-16
      回复
    • 悟
      2020-10-16回复无言
      刚试了直接调函数app.getserverdate(),显示undefined
      2020-10-16
      回复
    • 无言
      无言
      发表于小程序端
      2020-10-16回复
      app.js的函数,调用云函数success你加return了没有?如果没有,可能运行的逻辑你还是没有理清楚。需要补补课了。
      2020-10-16
      回复
    查看更多(5)
  • 悟
    2020-10-16

    app.js


    onLaunch: function () {

    if (!wx.cloud) {

    console.error('请使用 2.2.3 或以上的基础库以使用云能力')

    } else {

    //云开发初始化

    wx.cloud.init({

    env: '',

    traceUser: true

    })

    //const { OPENID } = cloud.getWXContext();

    }

    this.globalData = { serverDate: this.getserverDate()}

    }


    //获取服务器时间

    getserverDate: function () {

    wx.cloud.callFunction({

    name: 'getdate',

    success: function (res) {

    getApp().globalData.serverDate = res.result

    }

    })

    },

    onShow: function () {

    let that = this;

    wx.getSystemInfo({//做iponeX的适配

    success: res => {

    console.log('手机信息res:' + res.model)

    let modelmes = res.model;

    if (modelmes.search('iPhone X') != -1) {

    that.globalData.isIphoneX = true

    }


    }

    })

    第二个页面

    pages上面引入

    const app = getApp();


    我直接挂载第二个页面,服务器时间不能从全局变量获取到,util.formatTime(new Date(app.globalData.serverDate))显示为NAN,如果是从第一个页面跳转第二页面显示都正常

    2020-10-16
    有用
    回复
  • Code Weaver
    Code Weaver
    2020-10-16

    你在小程序 app.js的onShow里进行 全局变量的赋值

    2020-10-16
    有用
    回复 6
    • 悟
      2020-10-16
      为获取服务的时间,
      2020-10-16
      回复
    • Code Weaver
      Code Weaver
      2020-10-16回复
      onShow里面调用下 getServerDate
      2020-10-16
      回复
    • 悟
      2020-10-16
      刚试了,还是显示NAN
      2020-10-16
      回复
    • Code Weaver
      Code Weaver
      2020-10-16回复
      打印下。是否走了。
      2020-10-16
      回复
    • 悟
      2020-10-16
      2020-10-16
      回复
    查看更多(1)
  • 温水煮泡面
    温水煮泡面
    2020-10-16

    你是不是在第一个页面才对app.js里的全局变量赋值了

    2020-10-16
    有用
    回复 1
    • 悟
      2020-10-16
      不是的
      2020-10-16
      回复
登录 后发表内容
问题标签