我知道如何使用ComponentFactoryResolver.resolveComponentFactory(AComponentType)初始化组件
但是该方法需要一个Type,而在我的代码中我将该类型的名称作为字符串.
在Angular API中是否有一种通过字符串解析的方法?
如果没有,我如何将字符串转换为TypeScript中的Type?
如果以上都不可能,我会使用地图,但它不是那么简单,因为我需要实例化的组件将来自远程获取的UMD角度组件库.
解决方法
您可以执行以下操作:
const classesMap = { AComponentType: AComponentType,BComponentType: BComponentType }
然后:
CreateDynamicComponent(typeName: string) { ... const componentFactory = ComponentFactoryResolver.resolveComponentFactory(classesMap[typeName].prototype.constructor) ... }