收藏
回答

app.globalData获取值错误问题

问题模块 框架类型 问题类型 终端类型 微信版本 基础库版本
框架 小程序 Bug 客户端 7.0.0 2.4.4

如在app.js设置

globalData: {

s:"ss",   

 }

在A界面修改app.globalData.s="yy"后,

var app = getApp()

Page({


onLoad: function() {

   app..globalData.s="yy"

},

})

跳到B界面,在B界面获取的值不是修改后的值app.globalData.s的值为"ss"

var app = getApp()

var s = app.globalData.s

Page({


onLoad: function() {

    console.log(s)

//值为dd

},

})


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

2 个回答

  • 沖沖
    沖沖
    2019-01-05

    在其它页面获取globalData的值时不能放在Page外,因为在小程序初始化时值就固定了,不是动态更新的,比如你可以改成这样

    let app=getApp()
    Page({
      onLoad(){
        let s=app.globalData.s
        console.log(s)
      }
    })


    2019-01-05
    赞同
    回复 1
    • by
      by
      2019-01-05

      谢谢啊,我以为是动态更新的

      2019-01-05
      回复
  • by
    by
    2019-01-05

    如果直接在B界面的onLoad里通过app.globalData获取值就是正确的

    如:在B界面onLoad中:

    var app = getApp()

    var s = app.globalData.s

    Page({


    onLoad: function() {

        console.log( app.globalData.s)

    //值为yy

        console.log(s)

    //值为dd

    },

    })



    2019-01-05
    赞同
    回复
登录 后发表内容