在Angular中,如何在常量中引用/注入单个对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Angular中,如何在常量中引用/注入单个对象相关的知识,希望对你有一定的参考价值。

我知道如何在组件类中进行依赖注入。即

constructor(private staticDataService: StaticDataService)

但是,在Angular 7中,我能够将singleton staticDataService对象注入为常量的属性。即

export const myConstant = {
    name: 'ConstA',
    service: staticDataService
  }
答案

您可以将配置值注入模块,并在此类组件和服务中使用此值。以下是如何定义要使用它的配置:

export const YOUR_CONSTANT= new InjectionToken<string>('YOUR_CONSTANT');

export class YourComponent {

  constructor(
    @Inject(YOUR_CONSTANT) config: any
  ) { }
}

以下是如何设置它的片段:

@NgModule({
  declarations: [ ... ],
  imports: [ ... ],
  providers: [
    { provide: YOUR_CONSTANT, useValue: 'YOUR_STRING_OR_NUMBER_OR_OBJECT_OR_WHATEVER' },
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

以上是关于在Angular中,如何在常量中引用/注入单个对象的主要内容,如果未能解决你的问题,请参考以下文章

Angular开发者指南服务

是否可以将服务注入 Angular 1.5 组件的 templateUrl 属性?

AngularJS注册和使用服务和常量(providerfactoryserviceconstantvalue)

spring@value取不到值的几种情况

spring@value取不到值的几种情况

spring@value取不到值的几种情况