使用动态指令创建组件

时间:2016-11-23 16:37:49

标签: angular

我们目前正在使用ViewContainerRef.createComponent()方法在运行时动态生成组件 - 它是一种插件系统,用户可以根据需要添加插件和显示屏幕。相关代码在这里:

 this.module = moduleFactory.ngModuleFactory.create(this.injector);
 var factory = this.module.componentFactoryResolver.resolveComponentFactory(tab.type);
 tab.component = this.container.createComponent(factory);

其中moduleFactory是创建动态加载模块的工厂。如果我有一个指令SomeDirective我想申请创建的组件,这可能吗?我目前唯一看到的方法是通过模板编译(see here),但这似乎是设计的黑客,如果可能,我真的想避免这种情况。

有人有运气吗?我在调用createComponent时看到参数projectableNodes: any[][],但我不知道在这种情况下这是否相关。谢谢!

0 个答案:

没有答案