创建的单例换了页面后不生效问题
单例只有在同一个流程中才有效,换了页面后之前的实例都全是undefined。
HarmonyOS
赞
收藏 0
回答 3
待解决
相关问题
请问当前页面跳转时是否支持单例模式
330浏览 • 1回复 待解决
在ets层能不能创建整个应用全局唯一的单例?
770浏览 • 1回复 待解决
实现单例模式下的数据存储
451浏览 • 1回复 待解决
HAR包内的单例对象与HAR包相互之间依赖关系问题。
383浏览 • 1回复 待解决
HSP中,单例模式出现多份实例问题分析总结_2
349浏览 • 1回复 待解决
ArkTS层实例化与单例介绍
738浏览 • 1回复 待解决
组合手势被抽离成方法后不生效
365浏览 • 1回复 待解决
ConstraintSize尺寸设置不生效
1137浏览 • 1回复 待解决
首选项获取实例,实例是否为单例
761浏览 • 1回复 待解决
关于文档中说har中不能用单例的疑惑
603浏览 • 1回复 待解决
textfield的截断属性不生效
1564浏览 • 1回复 待解决
HAR包创建的page,使用window加载page的路径采用相对路径不生效
430浏览 • 1回复 待解决
Web组件的onKeyEvent键盘事件不生效
798浏览 • 1回复 待解决
使用position之后height不生效
963浏览 • 1回复 待解决
容器组件onVisibleAreaChange不生效
670浏览 • 1回复 待解决
网络请求创建后,持久化问题
276浏览 • 1回复 待解决
音频播放长时任务不生效
718浏览 • 1回复 待解决
在嵌套组件中Scroll不生效
962浏览 • 1回复 待解决
List组件的initialIndex属性设置不生效
803浏览 • 1回复 待解决
Left、Top为什么不生效?
364浏览 • 1回复 待解决
通过WindowProperties设置属性不生效
893浏览 • 1回复 待解决
在Tab中的TabContext设置stack的margin,只有左边生效,右边不生效
345浏览 • 1回复 待解决
设置状态栏,调用setWindowSystemBarProperties不生效
1075浏览 • 1回复 待解决
butoon,这样设置borderColor为什么不生效?
1099浏览 • 0回复 待解决
emmiter开发,订阅事件时优先级priority设置后不生效是为什么?
31浏览 • 1回复 待解决
参考:https://blog.51cto.com/chenfenglove/11409106
对于每个Page都会生成一个js文件,定义的单例会在每个js中都生成一份,所以单例的作用范围只是Page的范围。
如果想共享一个实例,创建范围需要提升至UIAbility或者App级别。
单例模式是一种常见的设计模式,用于确保一个类只有一个实例,并提供一个全局访问点。然而,由于每个页面(Page)都会生成一个独立的JavaScript文件,在每个文件中定义的单例实例实际上是独立的,因此单例的作用范围仅限于单个页面(Page)的范围内。当在不同页面之间切换时,之前页面的单例实例将不再可用,导致所谓的“不生效”问题。
为了解决这个问题,开发者需要将单例的创建范围提升至更高的层级,如UIAbility或App级别。这样做可以确保单例实例在整个应用程序或至少在某个特定的UIAbility范围内是共享的,从而避免在不同页面之间切换时单例实例失效的问题。