HarmonyOS 鸿蒙Next自定义组件如何配置全局参数,例如在EntryAbility配置之后,所有用到自定义组件的地方,配置都一样
HarmonyOS 鸿蒙Next自定义组件如何配置全局参数,例如在EntryAbility配置之后,所有用到自定义组件的地方,配置都一样
构建全局的GlobalThis https://docs.openharmony.cn/pages/v4.0/zh-cn/application-dev/reference/apis/js-apis-permissionrequestresult.md
发现4.0的文档没了,就补充说明一下, 构建全局的GlobalThis其实就是创建一个类,把需要全局访问的东西作为GlobalThis这个类的私有变量,添加对应的set和get方法 去初始化或则去获取这个变量,以此达到全局访问的目的
import common from '[@ohos](/user/ohos).app.ability.common';
import HashMap from '[@ohos](/user/ohos).util.HashMap';
// 构造单例对象
export class GlobalThis {
private constructor() {
}
private static instance: GlobalThis;
private _uiContexts = new HashMap<string, common.UIAbilityContext>();
public static getInstance(): GlobalThis {
if (!GlobalThis.instance) {
GlobalThis.instance = new GlobalThis();
}
return GlobalThis.instance;
}
getContext(key: string): common.UIAbilityContext {
return this._uiContexts.get(key);
}
setContext(key: string, value: common.UIAbilityContext): void {
this._uiContexts.set(key, value);
}
getValue(key: string): Object | undefined {
if (this._globalValue.hasKey(key)) {
return this._globalValue.get(key)
} else {
return undefined;
}
}
}
初始化变量可以放在你想要初始化的地方,一般在EntryAbility的onCreate方法里初始化(只要在使用前进行初始化就行)
例如:
GlobalThis.getInstance().setContext('context', this.context);
使用时:
const context = GlobalThis.getInstance().getContext("context");
更多关于HarmonyOS 鸿蒙Next自定义组件如何配置全局参数,例如在EntryAbility配置之后,所有用到自定义组件的地方,配置都一样的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,自定义组件的全局参数配置通常通过配置文件实现。对于EntryAbility及后续所有使用自定义组件的地方,若需保持配置一致,可采取以下方法:
- 全局配置文件:利用app.json5和module.json5文件配置全局参数。在app.json5中设置应用级别的全局变量,如Bundle名称、版本号等。在module.json5中配置Module的基本信息、组件描述及权限等。
- 组件参数继承:自定义组件时,在组件内部定义默认参数。在其他地方引用该组件时,如未明确指定参数,则使用组件内部的默认参数。
- 统一资源管理:将全局资源(如图标、字符串等)集中管理,通过资源索引在配置文件中引用,确保一致性。
若已正确配置但问题依旧,请检查配置文件路径、字段名称及取值是否符合规范。同时,确保所有引用自定义组件的地方都遵循了全局参数配置。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html