微信小程序全局变量使用单例模式
时间: 2023-09-15 20:23:09 浏览: 136
在微信小程序中,可以使用单例模式来创建全局变量。单例模式是一种设计模式,它确保一个类只有一个实例,并提供全局访问点。
以下是使用单例模式创建全局变量的基本步骤:
1. 创建一个单例对象,将其赋值给一个全局变量。
2. 将该全局变量导出,以便其他页面可以访问它。
3. 在其他页面中,通过引用该全局变量来访问单例对象。
下面是一个示例代码:
```
// app.js
class GlobalData {
constructor() {
this.data = {}
}
static getInstance() {
if (!GlobalData.instance) {
GlobalData.instance = new GlobalData()
}
return GlobalData.instance
}
}
const globalData = GlobalData.getInstance()
App({
globalData
})
// other.js
const app = getApp()
const globalData = app.globalData
globalData.data.foo = 'bar'
```
在上面的示例中,我们创建了一个名为 `GlobalData` 的类,并定义了一个 `getInstance` 方法,该方法用于获取该类的单例对象。在 `app.js` 中,我们将获取的单例对象赋值给名为 `globalData` 的全局变量,并将其导出。在 `other.js` 中,我们通过 `getApp` 方法获取 `app` 实例,并从中获取名为 `globalData` 的全局变量。然后,我们可以通过引用该全局变量来访问单例对象,并修改其数据。