我有一个在组件的 HTML 部分中使用的自定义管道。它在模块中声明:
declarations: [ I18nPipe ],
我希望能够从组件代码(而不是transform
方法)中调用它的方法。
我希望管道实例存在于依赖注入上下文中的某个位置,以便我可以抓住它。但是我错了。如果我将它注入到组件的构造函数中(例如任何普通服务):
constructor(private i18nPipe: I18nPipe)
然后我得到一个错误:没有提供者。所以我将它包含在providers
同一模块的部分中:
providers: [ I18nPipe ]
然后我将可以在组件代码中访问它,但我的自定义管道会有两个实例。
创建者
providers
,在 DI 上下文中可用。在构造函数中注入时我会得到这个实例,所以我将在我的组件代码中使用这个实例。HTML 中使用的实例。它在哪里生活?我想在我的组件代码中访问这个实例,而不是“提供”的那个;我怎样才能获得它?