在模块导入时使用其他服务

时间:2019-07-23 14:01:34

标签: angular angular-services

这是我的问题的一个简单实现示例:
https://stackblitz.com/edit/angular-gqy1lk

我有两个页面,分别导入 test-generic 模块和一个特定的提供的服务(使用ForChild),该服务继承了 TestGenericService 服务。

我在每个服务中使用 testMethod 来显示在哪个页面模块中调用了组件 Generic

您可以在 stackblitz 预览中看到,“ page1”链接显示为 Page2 ,而不是“ Page1”字符串。并且page2链接显示正确的字符串 Page2

似乎angular只接受了 TestGenericModule 的最后一个 forChild 调用,在这种情况下,当 Page2Module Page1Module < / b>

我在提供服务时使用ForChild有什么问题?

是否可以通过提供要注入的特定服务来将模块导入另一个模块中,仅适用于导入的模块范围?

谢谢。

1 个答案:

答案 0 :(得分:0)

好,我找到了解决方法:

https://stackblitz.com/edit/angular-gqy1lk

我只需要使用forChild定义要在组件级别(提供者)而不是模块级别使用的提供程序。

现在,服务注入对于我的TestGeneric组件来自哪个组件(Page1或Page2)是正确的。