如何使用给定的注入令牌将依赖项注入到提供程序中?

Rob*_*ier 5 typescript angular-providers angular

我正在使用 Angular 插件,需要通过使用InjectionToken插件导出的配置对象来配置它。

import { pluginToken } from 'plugin';

@NgModule({
  providers: {
    // Configure the plugin
    //
    // The configuration value string needs to be taken from some other
    // provider (available for dependency injection).
    { provides: pluginToken, useValue: valueString },
  },
})
class MyModule {
  ...
}
Run Code Online (Sandbox Code Playgroud)

我的问题是这valueString是来自其他提供商的价值。我不知道如何将依赖项注入@NgModule装饰器的提供者。怎么做?

Rea*_*lar 4

我遇到的问题是 valueString 是来自其他提供者的值

您可以使用以下方式将一个提供商的价值转发给另一个提供商useExisting

@NgModule({
    providers: [
        {provide: LOCALE_ID, useValue: 'en'},
        {provide: pluginToken, useExisting: LOCALE_ID},
    ],
})
export class MyModule {}
Run Code Online (Sandbox Code Playgroud)

在上面的例子中将'en'被分配给,pluginToken因为它使用了现有的值LOCALE_ID