我有两个模块(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的地方。
答案 0 :(得分:0)
Angular 2 dynamic tabs with user-click chosen components
<ng-container *ngComponentOutlet="component"></ng-container>
根据具体情况,组件为CI2或CI4。此外,CI2和CI4不需要导入搜索模块。 (ngComponentOutlet在Angular 4上)。