taro icon indicating copy to clipboard operation
taro copied to clipboard

原生项目与Taro混合, 如何共享全局变量?

Open broven opened this issue 3 years ago • 2 comments

这个特性解决了什么问题?

原生项目中使用Taro项目时, 能够共享全局变量, 切改动可控

这个 API 长什么样?

最近的一个项目, 采用了原生混合Taro的方式, 原生小程序中使用app.globaldata来存储全局变量, Taro中没有挂在全局(查文档没有看到怎么挂到App上), 针对这种混合场景, 该如何去共享全局变量?

我能想到的方案是

  1. 原生继续使用app.globaldata 不做修改
  2. taro中global_data.js 将存储也临时指向到app.globadata中, 保证两边同步, 等全部迁移成Taro后, 再从全局摘出来

Taro中如何给Globaldata赋值? 看了下文档, 提供了一个taroGlobalData的方案, 这个应该是挂在Taro下的, 对这种混合场景不太适合

broven avatar Aug 09 '22 02:08 broven

taro作为微信小程序分包,如果遇到了需要调用getAPP()的时候,直接if (getEnv() === ENV_TYPE.WEAPP) { // @ts-ignore console.log(getApp().globalData) },你要的对象就有了

Aliom252181 avatar Aug 09 '22 03:08 Aliom252181

taro作为微信小程序分包,如果遇到了需要调用getAPP()的时候,直接if (getEnv() === ENV_TYPE.WEAPP) { // @ts-ignore console.log(getApp().globalData) },你要的对象就有了

+1,Taro 直接使用 getApp 操作全局变量就可以满足了吧?

Chen-jj avatar Aug 09 '22 12:08 Chen-jj

@Chen-jj 在 taro 中使用 vue2 如何设置 global Data 挂载在 App 上,想在独立分包中通过 getApp 获取数据 globalData

haixinn avatar Oct 11 '22 17:10 haixinn

@Chen-jj 在 taro 中使用 vue2 如何设置 global Data 挂载在 App 上,想在独立分包中通过 getApp 获取数据 globalData

@Chen-jj 同问,这个有什么办法吗?

DreamSeeker321 avatar May 19 '23 03:05 DreamSeeker321