【微信小程序】全局变量的定义与使用

本文详解了全局变量在小程序开发中的正确用法,包括定义位置、初始赋值途径、不同文件间的交互以及有效期管理。了解如何在app.js外定义globalData,避免混淆,并学习如何在app.js和其他js文件中高效操作全局变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

全局变量的定义

在你初次打开 app.js 文件时,很容易混淆。在 onLaunch 函数里是有个 globalData 对象,但请注意,你的全局变量不是写在这里,而是另外在函数外定义一个 globalData

例如下图:

globalData 一定要定义在与函数同级的位置。然后在globalData 里面编写你的全局变量的值。

全局变量的赋值

一般初始化的时候会给空值或者固定值,然后通过后期的小程序使用过程中改变全局变量。

全局变量值得改变有两个地方。一是在 app.js 文件中改变。二是在其他 js 文件中改变。

在 app.js 中,你只需要通过 this.globalData.XXXX = XXX 进行赋值即可。不能使用 this.setData 进行赋值。

在其他 js 文件中,我们首先要引入全局变量:

const app = getApp()

然后通过 app 去调用 globalData

例如:

app.globalData.XXXX = XXX

全局变量的使用

使用全局变量分为两种情况,一是在 app.js 文件中使用,二是在其他 js 文件中使用。

在 app.js 文件中使用时直接通过 this.globalData.XXXX 即可使用。

在其他 js 文件中使用先获取全局对象:

const app = getApp()

接着通过 app.globalData.XXXX 调用即可。

全局变量的有效期

全局变量的有效期只存在于当前使用的状态下,一旦小程序被用户退出或者微信自身清理之后,将不保留全局变量。所以你需要根据自己的需求进行设置全局变量,合理的应用。

微信小程序中的全局变量是在App.js文件中设置的,通过globalData对象来存储全局变量的值。在这个对象中,可以定义和存储需要在整个小程序使用的变量。例如,可以定义一个名为hasLogin的全局变量,并设置初始值为false,还可以定义一个名为openid的全局变量,并初始化为null。 全局变量使用可以在小程序的任何页面中进行。通过在页面中引入App.js文件,并使用`getApp()`方法获取到App实例,就可以访问和使用全局变量了。例如,可以通过`getApp().globalData.hasLogin`来获取或修改全局变量的值。 除了使用微信小程序原生的方式设置和使用全局变量外,还可以使用其他框架或工具来实现全局状态管理,如uni-app可以使用Vuex来定义和管理全局变量。通过在Vuex中定义全局变量的状态,并在需要使用的页面中引入并使用对应的状态值,可以实现全局变量的共享和修改。 总结起来,微信小程序全局变量是通过在App.js文件中设置globalData对象来存储的,可以在整个小程序中共享和使用。具体的使用方式可以根据需求选择原生方式或使用框架提供的方法来实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [微信小程序 全局变量](https://blog.csdn.net/JxufeCarol/article/details/117735950)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [wx小程序、uni-app全局变量](https://blog.csdn.net/hbiao68/article/details/102898031)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值