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

微信小程序的全局变量(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 

http://www.xdnf.cn/news/135.html

相关文章:

  • ubuntu学习day3
  • Hexo+Github+gitee图床零成本搭建自己的专属博客
  • 团体程序设计天梯赛PTA-SHU冲刺赛4. L22-L32
  • .net core 项目快速接入Coze智能体-开箱即用-第2节
  • 【免登录ORACLE,jdk8安装包下载】jdk-8u441-windows-i586.exe和jdk-8u441-windows-x64.exe有什么区别
  • 前端为什么需要单元测试?
  • Python 项目文档编写全攻略:从入门到自动化维护
  • 自注意力机制self-attention
  • 第十二节:原理深挖-React Fiber架构核心思想
  • 【Datawhale Al春训营】气象预测(AI+航空安全)竞赛笔记
  • 音视频之H.265/HEVC变换编码
  • 深入理解C++中string的深浅拷贝
  • 深入解析C++驱动开发实战:优化高效稳定的驱动应用
  • golang channel源码
  • Tensorflow释放GPU资源
  • Oracle、MySQL、PostgreSQL三大数据库对比分析
  • KMP算法动态演示
  • CTF--各种绕过哟
  • 汽车免拆诊断案例 | 2011款雪铁龙世嘉车刮水器偶尔自动工作
  • 服务器的算力已经被被人占用了,我如何能“无缝衔接”?
  • MATLAB - 小车倒立摆的非线性模型预测控制(NMPC)
  • SAP案例:珠海汉胜科技SAP S/4 HANA智能制造实践与价值实现
  • 3.Chromium指纹浏览器开发教程之chromium119版本源码拉取
  • 4.18---缓存相关问题(操作原子性,击穿,穿透,雪崩,redis优势)
  • 第五届能源工程、新能源材料与器件国际学术会议(NEMD 2025)
  • 数据结构中的宝藏秘籍之广义表
  • Web三漏洞学习(其三:rce漏洞)
  • 【MySQL】表的操作
  • PyTorch分布式训练调试方法(跟踪调用过程)
  • 每日算法【双指针算法】(Day 2-复写零)