使用字符串名称参数在 RC5+ 中动态加载组件

Dynamic component loading in RC5+ using string name parameters

在 RC5 之前,我是这样动态加载组件的:

System.import('path/to/MyComponent')
            .then(fileContents => fileContents['MyComponent'])
            .then(component => {
                this.dynamicComponentLoader.loadNextToLocation(component, ..)
                    .then(() => {
                       ...
                    });
            });

从 RC5 开始,这不起作用,因为 DynamicComponentLoader 已弃用。问题是它的前身 ComponentFactoryResolver 将类型作为参数。我需要一种使用字符串名称加载组件的方法。我该怎么做?

设法做到这样:

System.import('path/to/MyComponent')
            .then(fileContents => fileContents['MyComponent'])
            .then(component => {
                let factory = this.componentFactoryResolver.resolveComponentFactory(component);
                this.container.createComponent(factory); //container: ViewContainerRef
            });