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

时间:2016-09-19 11:26:33

标签: angular dynamic-loading

在RC5之前,我正在动态加载组件:

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

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

1 个答案:

答案 0 :(得分:0)

管理这样做:

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