Angular2具有动态非共享组件的共享组件

时间:2017-02-03 20:09:27

标签: angular circular-dependency

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

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

能否将CI2和CI4重用为SM?我找到的唯一方法是复制CI的CI2和CI4,但我想避免这种情况。

有快速样本的Plunker: https://plnkr.co/edit/a3xiBz6uUF7OcAaRLD4c

SearchComponent的第30行是应重用CI2,CI4的地方。

1 个答案:

答案 0 :(得分:0)

Angular 2 dynamic tabs with user-click chosen components

<ng-container *ngComponentOutlet="component"></ng-container>根据具体情况,组件为CI2或CI4。此外,CI2和CI4不需要导入搜索模块。 (ngComponentOutlet在Angular 4上)。