首页 > 解决方案 > Angular:检查注入的服务是否是该服务的“全局”实例

问题描述

组件是否可以检查它注入的服务是否是该服务的“全局”实例,或者需要非单例实例?

假设我有一个名为<huge-table></huge-table>. 这个组件使用了几个服务,所有这些服务都应该有自己的本地实例。我希望这个组件需要它自己的这些服务实例,因此强制使用<huge-table>它们作为提供者的父组件。

笔记:

在我的情况下,将这些服务设置为<huge-table>组件本身内的提供者是不可能的,因为有兄弟组件也需要相同的本地实例。

例如:

<huge-table></huge-table>
<sibling-component></sibling-component>

...并且两者都需要相同的本地服务实例。

标签: angulartypescript

解决方案


只要我跟着。您需要将这些服务包含在父提供者数组中。请记住将它们放在构造函数中。并providedIn: 'root'从您的服务中删除。应该只是@Injectable()


推荐阅读