当前位置: 首页 > news >正文

微信小程序的全局变量(quanjubianliang)

在微信小程序开发中,管理和使用全局变量是一种常见的需求。例如,可以通过小程序的App实例和globalData对象来实现全局变量的存储和共享。以下是详细说明:

1. 全局变量的定义

微信小程序提供了 App() 函数,其中可以定义一个 globalData 对象,用于存储全局变量。

定义方式:

app.js 文件中定义全局变量:

// app.js
App({onLaunch() {// 展示本地存储能力const logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)// 登录
    wx.login({success: res => {// 发送 res.code 到后台换取 openId, sessionKey, unionId}})},
  globalData: {
    userInfo: null,
    appTheme: 'light', // 其他自定义全局变量}
})

2. 在页面中使用全局变量

通过 getApp() 方法获取全局应用实例,从而访问或修改 globalData

示例:

假设我们在页面 index.js 中获取和设置全局变量:

onLoad: function () {// 获取全局变量const app = getApp();
    console.log('当前主题:', app.globalData.appTheme);// 修改全局变量
    app.globalData.appTheme = 'dark';
    console.log('更新后的主题:', app.globalData.appTheme);},

重新编译控制台输出

由此我们可以看到已经成功使用全局变量。

3. 注意事项

● 数据同步性: 全局变量的修改对其他页面立即生效,但如果其他页面已经加载,可能需要手动刷新以同步最新数据。

● 大数据存储: 不要将大量数据存储在 globalData 中,可以将大数据存储到本地(如 wx.setStoragewx.setStorageSync)。

● 模块化: 对于复杂的项目,建议将全局状态管理抽离成单独模块(如使用 ReduxMobX 或者封装自己的状态管理工具)。

完整代码:

通过网盘分享的文件:微信小程序的全局变量(quanjubianliang)
链接: https://pan.baidu.com/s/1rxzOP0uMVb5k50Ec-HLVNA?pwd=bebg 提取码: bebg 

相关文章:

  • ESORICS 2025截稿延期
  • 悟空CRM系统部署+迁移
  • Android device PCO (protocol configuration options) intro
  • 学习型组织与系统思考
  • QT调用ffmpeg库实现视频录制
  • Spring Boot配置文件优先级全解析:如何优雅覆盖默认配置?
  • 再看开源多模态RAG的视觉文档(OCR-Free)检索增强生成方案-VDocRAG
  • mysql中优先使用datetime存储时间
  • 如何学习和研究量子计算与量子计算机:从理论到实践的完整路径
  • Ubuntu 系统中修改 MySQL 的 sql_mode
  • C#学习第16天:聊聊反射
  • 编程技能:调试03,逐过程命令与退出调试
  • 【TeamFlow】 1 TeamFlow 去中心化生产协同系统架构
  • RUI电视桌面中文版:下载安装教程及桌面固件包获取全攻略
  • 算法01-最小生成树prim算法
  • 【论文阅读20】-CNN-Attention-BiGRU-滑坡预测
  • Android audio系统六 AudioEffect音效加载
  • Andorid 使用 libphonenumber-android 获取国际电话区号
  • 支持mingw g++14.2 的c++23 功能print的vscode tasks.json生成调试
  • PyTorch 深度学习实战(37):分布式训练(DP/DDP/Deepspeed)实战
  • 银行板块整体走强,工行、农行、中行股价再创新高
  • 2025全球智慧城市指数排名揭晓,阿布扎比跃升至第五位
  • 著名茶叶专家谢丰镐逝世,享年95岁
  • 厚植民营企业家成长土壤是民营经济高质量发展的关键
  • 宁德时代与广汽等五车企发布10款巧克力换电新车型:年内将完成30城1000站计划
  • 夜读丨一条鱼的使命