В настоящее время я загружаю компоненты angular динамически в мое приложение, используя следующий код.
export class WizardTabContentContainer {
@ViewChild('target', { read: ViewContainerRef }) target: any;
@Input() TabContent: any | string;
cmpRef: ComponentRef<any>;
private isViewInitialized: boolean = false;
constructor(private componentFactoryResolver: ComponentFactoryResolver, private compiler: Compiler) {
}
updateComponent() {
if (!this.isViewInitialized) {
return;
}
if (this.cmpRef) {
this.cmpRef.destroy();
}
let factory = this.componentFactoryResolver.resolveComponentFactory(this.TabContent);
this.cmpRef = this.target.createComponent(factory);
}
}
Здесь функция resolveComponentFactory принимает тип компонента. Мой вопрос: есть ли способ загрузить компонент, используя строку имени компонента, например, у меня есть компонент, определенный как
export class MyComponent{
}
Как добавить компонент выше с использованием имени компонента "MyComponent" вместо типа?