小程序 全局数据共享 getApp()

在小程序中,可以通过 getApp() 方法获取到小程序全局唯一的App实例 因此在App()

方法中添加全局共享的数据、方法,从而实现页面、组件的数据传值

在 app.js 文件中定义

javascript 复制代码
App({
  // 全局共享的数据
  globalData:{
    token:''
  },
  // 全局共享的方法
  setToken(token){
    // 如果想获取token,可以使用 this 的方法进行获取
    this.globalData.token = token
	// 在 App() 方法中如果想获取 App() 实例,可以通过 this 的方式进行获取
	// 不能通过 getApp() 方法获取
  }
})

使用 需要在登录页面 先 setToken

.wxml 文件

javascript 复制代码
<button type="warn" plain bindtap="login">登录</button>

.js 文件

javascript 复制代码
// getApp()方法用来获取全局位移的 App()实例
const appInstance = getApp()
Page({
  login(){
  // 不要通过 app 实例调用钩子函数
  	appInstance.setToken("aaaaaaaaaa")
 }
})

然后 再其它页面 可获取 全局存入的token

javascript 复制代码
const appInstance=getApp()
Page({
  onLoad(options) {
    console.log(appInstance)
  },
})

注意事项

1.不要再App() 方法中使用 getApp() 使用 this 就可以拿到 app实例

2.通过 getApp() 获取实例之后,不要私自调用生命周期函数

相关推荐
容智信息2 小时前
AI Agent(智能体)的输出格式应该从 Markdown 转向 HTML吗?
前端·人工智能·rust·编辑器·html·prompt
_风满楼2 小时前
TDD 进阶:换个角度看会议室预约
前端·javascript·github
Amy_yang2 小时前
uni-app 安卓端纯前端预览 DOCX 的实现思路
前端·vue.js
x_y_2 小时前
分享一个自己总结的前端开发skill~ requirement-to-delivery
前端·ai编程
梨子同志2 小时前
CSS Grid
前端·css
子兮曰2 小时前
SuperSplat 深度解析:7.6K Stars 的浏览器端 3D 高斯泼溅编辑器 — 在 Web 上编辑现实
前端·javascript·webgl
小徐_23332 小时前
Wot UI v1 升级 v2?这份迁移指南帮你少踩坑!
前端·微信小程序·uni-app
xiangxiongfly9152 小时前
Vue3 动态加载静态资源
前端·javascript·vue.js
子兮曰2 小时前
whisper.cpp 深度解析:从边缘设备到实时语音识别
前端·c++·后端
子兮曰2 小时前
Ruflo 深度解析:49K Stars 的 AI Agent 编排平台 — 给 Claude Code 装上分布式神经系统
前端·后端·ai编程