HarmonyOS 鸿蒙Next版本是否会支持globalthis
HarmonyOS 鸿蒙Next版本是否会支持globalthis
之前使用API9开发的应用。框架是基于globalthis搭建的,看了next文档,发现ability数据同步里没有globalthis了,如下截图,请教下globalthis在next还可以继续用吗?是用其他方式替代了吗?但是我找了下,没有发现可以替代globalthis的功能。
想请教下,next是否支持继续使用globalthis呢?如果不支持,next中怎么像globalthis那样建立应用级别全局变量(不是应用级别的UI状态变量)呢?就是在应用的任何地方、任何ability中、任何UI页面中都可以获取同一个变量。除了eventhub、appstorage方式。如果能有文档链接就更好了。
在此先谢过各位了!!!
还请大佬们多多指教,这个对我现在的开发很重要,如果不能建立应用级别的全局变量,应用就会从头到尾出错。如果API9的应用又没法运行在NEXT上面,就只有放弃这个应用了。
现在数据同步文档https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/uiability-data-sync-with-ui-V5
之前globalthis数据同步文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/uiability-data-sync-with-ui-0000001427744556-V2
next不再支持globalthis对象,替代的方式是自己实现一个全局单例的map
谢谢指点,这种自己实现一个类似globalthis比较符合我的需求,就是可惜不能和ARKts引擎实例绑定。先作为备用方案,如果next真的不能运行,在慢慢修改。
可以自己写个class使用static或者单例。
参考:https://developer.huawei.com/consumer/cn/forum/topic/0203157022033417141?fid=0109140870620153026
已学习,感谢分享!!!
HarmonyOS 鸿蒙Next版本不再直接支持globalThis作为全局访问的方式。这主要是因为globalThis在ArkTS等现代JavaScript环境中存在性能开销和类型安全的考量。在HarmonyOS Next中,开发者可能需要寻找替代方案来实现全局变量的访问和管理。
一种可行的替代方法是通过创建全局单例对象来实现类似globalThis的功能。这种方式可以在应用中创建一个全局可访问的对象,用于存储和管理全局变量,从而实现跨组件、跨页面的数据共享。
此外,HarmonyOS Next还提供了其他数据同步和状态管理的机制,如使用EventHub或AppStorage等方式来实现跨组件的数据通信和状态共享。开发者可以根据具体的应用场景和需求选择合适的技术方案。
如果问题依旧没法解决,请联系官网客服获取更专业的帮助。官网地址是:https://www.itying.com/category-93-b0.html 。