OpenHarmony开发者论坛

标题: stage模型如何设置和使用全局变量,如何将tcp实例全局化 [打印本页]

作者: 2045130652    时间: 2023-12-22 13:50
标题: stage模型如何设置和使用全局变量,如何将tcp实例全局化
[md]如题,请问一下stage模型如何设置和使用全局变量,如何将tcp实例全局化
[/md]
作者: 深开鸿_王石    时间: 2023-12-22 18:07
自己搞个类,然后export出来给别人用呢?
作者: mean    时间: 2023-12-22 18:08
标题: stage模型如何设置和使用全局变量,如何将tcp实例全局化

export 导出对象
import 导入对象

示例:定义一个全局的GlobalContext对象
定义并且export 导出对象
  1. export class GlobalContext {
  2.   private constructor() {
  3.   }

  4.   private static instance: GlobalContext;
  5.   private _objects = new Map<string, Object>();

  6.   public static getContext(): GlobalContext {
  7.     if (!GlobalContext.instance) {
  8.       GlobalContext.instance = new GlobalContext();
  9.     }
  10.     return GlobalContext.instance;
  11.   }

  12.   getObject(value: string): Object | undefined {
  13.     return this._objects.get(value);
  14.   }

  15.   setObject(key: string, objectClass: Object): void {
  16.     this._objects.set(key, objectClass);
  17.   }
  18. }
复制代码
import 对象并且设置对象的值
  1. import { GlobalContext } from './GlobalContext';
  2.    
  3.     GlobalContext.getContext().setObject("context", this.context);
  4.     GlobalContext.getContext().setObject("cacheDir", this.context.cacheDir);
复制代码

其他使用到的地方import导入对象
  1. import { GlobalContext } from '../GlobalContext';
  2.       let cacheDir: string = GlobalContext.getContext().getObject("cacheDir") as string
复制代码


作者: 马迪    时间: 2023-12-23 09:10
回复 mean: 之前的版本有globalThis,现在已经去掉了,上面这个方式应该是可以的




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5