app.globalData获取值错误问题
发布于 6 年前 作者 guiying78 3157 次浏览 来自 问答

如在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 回复

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

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

如果直接在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

},

})


回到顶部