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
1天前
浏览
收藏 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
微信
回复
22h前
相关问题
HarmonyOS 如何进行全局初始化操作
50浏览 • 1回复 待解决
class使用闭包方式初始化 默认值丢失
1954浏览 • 1回复 待解决
HarmonyOS 如何进行SM2key的初始化
31浏览 • 1回复 待解决
HarmonyOS XComponent初始化
110浏览 • 1回复 待解决
HarmonyOS struct初始化方法
76浏览 • 1回复 待解决
HarmonyOS Component初始化问题
488浏览 • 1回复 待解决
HarmonyOS 初始化EGL环境失败
1浏览 • 0回复 待解决
HarmonyOS 应用RDB初始化示例
444浏览 • 1回复 待解决
没法调试“已初始化”分支
270浏览 • 1回复 待解决
HarmonyOS export struct的初始化参数
71浏览 • 1回复 待解决
HarmonyOS 怎么监听Web初始化完成?
64浏览 • 1回复 待解决
初始化安全相机的方法
430浏览 • 1回复 待解决
如何初始化OceanBase服务器环境?
3716浏览 • 1回复 待解决
HarmonyOS泛型类的属性如何初始化
482浏览 • 1回复 待解决
rsa 公钥解密初始化报错
313浏览 • 1回复 待解决