HarmonyOS 如何动态对Class进行初始化

目前我们在实现一个路由服务插件,需要将服务的Class进行注册,然后通过代码进行初始化。

//RouterService.ets

addRouter(RouterService: Array<object>): void {
  //传入类对象,实现动态初始化
  let routerObject = new RouterService()
}

//Index.ets
Mediator.getSharedInstance().addRouter({ CustomRouterService })

//CustomRouterService.ets
export class CustomRouterService{

}
HarmonyOS
2024-12-27 15:11:52
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

可以参考如下方式:

type serviceCtor = () => MyService

export class ServiceFactory {
  register(serviceClass: serviceCtor) {
    return serviceClass()
  }
  registerService:serviceCtor = ():MyService => {
    return new MyService()
  }
}

export class MyService {
  start() {
    console.log('MyService started');
  }

  stop() {
    console.log('MyService stopped');
  }
}


const serviceFactory = new ServiceFactory();

const myService = serviceFactory.register(serviceFactory.registerService)

myService.start();
分享
微博
QQ
微信
回复
2024-12-27 17:04:28
相关问题
HarmonyOS 如何进行全局初始化操作
427浏览 • 1回复 待解决
class使用闭包方式初始化 默认值丢失
2248浏览 • 1回复 待解决
HarmonyOS XComponent初始化
587浏览 • 1回复 待解决
HarmonyOS 如何进行SM2key的初始化
238浏览 • 1回复 待解决
HarmonyOS struct初始化方法
506浏览 • 1回复 待解决
HarmonyOS 组件初始化参数
258浏览 • 1回复 待解决
HarmonyOS Component初始化问题
945浏览 • 1回复 待解决
HarmonyOS 初始化EGL环境失败
426浏览 • 1回复 待解决
HarmonyOS 应用RDB初始化示例
815浏览 • 1回复 待解决
HarmonyOS 推送服务初始化失败
262浏览 • 1回复 待解决
没法调试“已初始化”分支
565浏览 • 1回复 待解决
HarmonyOS 怎么监听Web初始化完成?
497浏览 • 1回复 待解决
HarmonyOS export struct的初始化参数
549浏览 • 1回复 待解决
初始化安全相机的方法
870浏览 • 1回复 待解决
如何初始化OceanBase服务器环境?
3990浏览 • 1回复 待解决
HarmonyOS泛型类的属性如何初始化
870浏览 • 1回复 待解决
HarmonyOS 自定义弹窗初始化问题
302浏览 • 1回复 待解决