【问题标题】:Angular: Check if an injected service is the "global" instance of that serviceAngular:检查注入的服务是否是该服务的“全局”实例
【发布时间】:2020-12-20 22:29:45
【问题描述】:

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

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

注意:

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

例如:

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

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

【问题讨论】:

    标签: angular typescript


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2023-03-25
      • 2016-06-02
      • 1970-01-01
      • 1970-01-01
      • 2021-02-04
      • 2018-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多