// 构造一个单例对象
export class GlobalContext{
private constructor(){}
private static instance:GlobalContext
private _objects = new Map<string, Object>()
public static getContext():GlobalContext{
if(!GlobalContext.instance){
GlobalContext.instance = new GlobalContext
}
return GlobalContext.instance
}
getObject(value:string): Object | undefined{
return this._objects.get(value)
}
setObject(key:string, objectClass:Object):void{
this._objects.set(key, objectClass)
}
}
// 使用方法
// file1.ts
import { GlobalContext } from '../GlobalContext'
export class Test {
value: string = '';
foo(): void {
GlobalContext.getContext().setObject('value', this.value);
}
}
// file2.ts
import { GlobalContext } from '../GlobalContext'
GlobalContext.getContext().getObject('value');