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{

}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
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();
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
分享
微博
QQ
微信
回复
2024-12-27 17:04:28
相关问题
HarmonyOS 如何进行全局初始化操作
919浏览 • 1回复 待解决
怎么进行全局初始化操作?
369浏览 • 0回复 待解决
class使用闭包方式初始化 默认值丢失
2736浏览 • 1回复 待解决
HarmonyOS XComponent初始化
1159浏览 • 1回复 待解决
HarmonyOS 如何进行SM2key的初始化
653浏览 • 1回复 待解决
HarmonyOS Component初始化问题
1527浏览 • 1回复 待解决
HarmonyOS 组件初始化参数
755浏览 • 1回复 待解决
HarmonyOS struct初始化方法
1029浏览 • 1回复 待解决
HarmonyOS 应用RDB初始化示例
1274浏览 • 1回复 待解决
HarmonyOS 推送服务初始化失败
858浏览 • 1回复 待解决
HarmonyOS 初始化EGL环境失败
937浏览 • 1回复 待解决
初始化安全相机的方法
1287浏览 • 1回复 待解决
如何初始化OceanBase服务器环境?
4446浏览 • 1回复 待解决
没法调试“已初始化”分支
1022浏览 • 1回复 待解决
HarmonyOS泛型类的属性如何初始化
1375浏览 • 1回复 待解决
HarmonyOS export struct的初始化参数
1048浏览 • 1回复 待解决
HarmonyOS 怎么监听Web初始化完成?
1006浏览 • 1回复 待解决