如何使用指令+组件+服务使相同的ng-template在2 ngModules中工作?

时间:2019-07-10 13:28:53

标签: angular angular-directive angular-template

我正在尝试实现一个具有单个实例的组件,该组件可以在多个路由中使用。可以使用具有指令的模板在单个模块中完成此指令,该指令将组件存储在服务中。请参见this question的可接受答案。

我有stackblitz是从here复制而来的。当所有内容都在同一模块中时,这很好地工作。但是,如果我将组件放置在自己的模块中,将无法再使用。参见not working example。我尝试为service + component +指令创建自己的模块,但没有帮助。该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以添加一个[<JIRA Issue: key='MRIPS-6651', id='561340'> <and date completed here>, 来导出可重用指令和可重用组件。基本上就像SharedModule,然后可以将其导入不同的功能模块中。

我在stackblitz编辑了您的示例,希望能解决该问题:)

编辑:

如果您还需要ReusableModule的其他实例,也可以通过在ReusableService中设置providers: [ReusableService]来对其进行范围设置。如果您只需要整个服务应用程序的一个实例,则将该服务的提供程序保留在app.module中。