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应该被重复使用。
答
Angular 2 dynamic tabs with user-click chosen components
<ng-container *ngComponentOutlet="component"></ng-container>
其中组分是CI2或CI4取决于情况。另外,不需要将CI2和CI4导入搜索模块。 (ngComponentOutlet在Angular 4上)。
你可以在它使用了'NG-content'显示结果,然后它不会需要显示的组件的先验知识这样的方式构建SM。 如果你可以添加一个代码示例或指向一个笨蛋,它将有助于理解这个问题。 –