Angular2具有动态不共享组件

问题描述:

共享组件我对每一个(CL1,CI2,CL3,CI4)两个模块(M1,M2)具有两个组件:ListComponent和ItemComponent。我创建了一个共享模块,它有SearchComponent查找项目来填充列表。 SearchComponent调用后端服务,并根据情况返回带有CI2或CI4数据的json。Angular2具有动态不共享组件

问题是我想重新使用CI2和CI4到SearchComponent来显示搜索结果,但它们不能在SharchModule(SM)上声明,因为它们已经在M1和M2上。此外,这会在M1 < - > SM和M2 < - > SM之间产生循环依赖关系。

任何想法能够重用C 12和CI4到SM?我发现的唯一方法是复制SM的CI2和CI4,但我想避免这种情况。

Plunker快速样品: https://plnkr.co/edit/a3xiBz6uUF7OcAaRLD4c

的SearchComponent的30行是CI2,CI4应该被重复使用。

+1

你可以在它使用了'NG-content'显示结果,然后它不会需要显示的组件的先验知识这样的方式构建SM。 如果你可以添加一个代码示例或指向一个笨蛋,它将有助于理解这个问题。 –

Angular 2 dynamic tabs with user-click chosen components

<ng-container *ngComponentOutlet="component"></ng-container>其中组分是CI2或CI4取决于情况。另外,不需要将CI2和CI4导入搜索模块。 (ngComponentOutlet在Angular 4上)。