2017-10-28 134 views

回答

0

ComponentFactory.create允许通过一选择器或节点作为目标参数:

constructor(private resolver: ComponentFactoryResolver, private injector: Injector) {} 

ngAfterViewInit() { 
    let factory = this.resolver.resolveComponentFactory(MyDynamicComponent); 
    let compRef = factory.create(injector, [], '#idOfTarget'); 
} 

参见https://angular.io/api/core/ComponentFactory#create

+1

这是工作。谢谢。 –

+0

使用'ComponentFactory.create'我们如何将数据传递到组件。和我的第二个问题是否可以传递元素作为一个字符串,而不是组件。 –

+0

'compRef.instance.someField ='foo';'https://stackoverflow.com/questions/36325212/angular-2-dynamic-tabs-with-user-click-chosen-components/36325468#36325468也显示如何做到这一点。 –