当我们在App.js 中动态给globalData赋值的时候, 通常是通过AJAX异步获取全局配置信息
将这些信息存储到 globalData的变量里, 然后全局使用。
但是有个问题, 在App.js 中赋值,在其他页面中不一定获取得到。该怎么办呢?
主要是方式问题。
解决方法:
app.js 中正常赋值,如下:
success: function(res) { console.log("返回SYSConfig",res); that.globalData.SysConfig=res; console.log("复制成功了吗?",that.globalData.SysConfig); }以上都能成功打印结果。
在其他页面中读取有几种方法,如下:
// pages/index/index.jsvar app = getApp();var AppSC=app.globalData.SysConfig;Page({ /** * 页面的初始数据 */ data: { SysConfig: app.globalData.SysConfig }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { var z=this; var SC=getApp().globalData.SysConfig; console.log("new赋值获取", SC); //可以获取到 console.log("非回调赋值本页面", z.data.SysConfig); //获不到 console.log("直接获取", app.globalData.SysConfig); //直接获取,可以获取到 console.log("全局赋值读取",AppSC); //获不到 } })使用的时候 需要注意一下