重用Angular组件中的现有提供程序

时间:2017-12-13 17:11:32

标签: angular typescript

我正在尝试创建一个可以跨多个模块使用的Angular组件(带有子组件)。子组件依赖于可变数量的可注射服务。

每个子组件都有自己的providers: [...]设置,允许组件加载到提供程序的新实例中。但是,如果组件存在,则我希望组件重用现有的提供程序实例。

这可能吗?

1 个答案:

答案 0 :(得分:0)

目前没有办法建议组件重用现有的提供者或告诉它使用新的提供者。

通常,当您想要跨多个功能模块共享组件时,建议使用"共享模块"声明并导出您想要共享的所有组件。该共享模块也是您应该提供其包含的组件可能需要的任何服务的地方。

然后,您可以将此共享模块导入到您希望共享该组件的任何其他功能模块中。

有关应用程序结构的更多信息,请查看Angular样式指南(主要由John Papa编写): https://angular.io/guide/styleguide#shared-feature-module