在微信小程序中,globalData
是一个非常有用的属性,用于在整个小程序中共享数据。通过 globalData
,你可以在不同的页面和组件之间传递和共享数据,而不需要在每个页面中重复定义或传递这些数据。
1. 在 app.js 中定义 globalData
App({ globalData: { userInfo: null, token: '' }, getUserInfo: function (cb) { var that = this if (this.globalData.userInfo) { typeof cb == "function" && cb(this.globalData.userInfo) } else { // 调用登录接口 wx.login({ success: function () { wx.getUserInfo({ success: function (res) { that.globalData.userInfo = res.userInfo typeof cb == "function" && cb(that.globalData.userInfo) } }) } }) } }, // 其他方法... })
2. 在页面或组件中使用 globalData
// pages/index/index.js const app = getApp() Page({ onLoad: function () { console.log(app.globalData.userInfo) console.log(app.globalData.token) }, // 其他页面方法... })
在组件中使用 globalData
// components/myComponent/myComponent.js const app = getApp() Component({ properties: { // 组件属性 }, data: { // 组件内部数据 }, attached: function () { console.log(app.globalData.userInfo) console.log(app.globalData.token) }, // 其他组件方法... })
3. 修改 globalData
// pages/login/login.js const app = getApp() Page({ login: function () { // 假设已经通过登录接口获取到 token const token = 'abc123' app.globalData.token = token // 其他登录逻辑... } })