小程序 全局数据共享 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() 获取实例之后,不要私自调用生命周期函数

相关推荐
孟健34 分钟前
Kimi K3.1 Pro 编程实测:3个月27万行代码,每年1.7万预算下如何9分钟修好顽固Bug
前端·开源·ai编程
inksci1 小时前
在线编辑表格,功能强大,json互转
前端·javascript·html
咩咩啃树皮1 小时前
JavaScript 中 this 指向为什么总在变?
开发语言·前端·javascript
彭亚川Allen2 小时前
从零手搓 RAG 之 Embedding 技术
前端·后端·面试
OpenTiny社区2 小时前
GenUI SDK v1.4.0 的 React 渲染器到底做对了什么?
前端·github·ai编程
jerrywus2 小时前
chrome-devtools-mcp 总弹授权、抢标签页?我是这样一步步配好的
前端·agent·mcp
橘猫走江湖2 小时前
Vue 3 虚拟 DOM:作用、触发机制,以及怎样变成页面上的真实节点
前端·vue.js·dom
郑州光合科技余经理3 小时前
同城小程序开发:同一笔单在用户端和商家端各显示到哪
android·java·开发语言·前端·后端·uni-app·php
zzppff1p3 小时前
用AI写了个小游戏
前端·javascript
陈随易3 小时前
终于 Token 自由了,AI 开支下降 10 倍
前端·后端·程序员