Angular 角度-从其名称访问组件/类
我在中找到了一个解决方案建议,并试图通过在全局ts文件中添加以下代码将其实现到我的项目中Angular 角度-从其名称访问组件/类,angular,Angular,我在中找到了一个解决方案建议,并试图通过在全局ts文件中添加以下代码将其实现到我的项目中 interface Component { } type ComponentClass = { new (): Component }; const REGISTRY = new Map<string, ComponentClass>(); function getTypeFor(name: string): ComponentClass { return REGISTRY.get
interface Component { }
type ComponentClass = { new (): Component };
const REGISTRY = new Map<string, ComponentClass>();
function getTypeFor(name: string): ComponentClass {
return REGISTRY.get(name);
}
function register(cls: ComponentClass): void {
REGISTRY.set(cls.name, cls);
}
我正在使用getTypeFor方法获取组件类型。当我尝试在组件的构造函数中放入一个参数时,一切都近乎完美。如我所见,此ComponentClass类型等待一个无参数构造函数。
如果我的cnonstructor有参数,我如何使用此方法或任何其他解决方案。请尝试以下方法:
type ComponentClass = { new (...args:any[]): Component };
所有构造函数是否共享相同的参数?如果是这样,请将ComponentClass的定义更改为匹配-否则,您可能会觉得这种方法不走运。请共享错误文本
type ComponentClass = { new (...args:any[]): Component };