使用Injection Token将字符串类型的参数注入到类的构造函数里

时间:2022-07-27
本文章向大家介绍使用Injection Token将字符串类型的参数注入到类的构造函数里,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一个常见的错误消息:error NG2003 - No suitable injection token for parameter

构造函数里有个参数类型为string:

  constructor(@Inject('apiUrl') private myname) {
    console.log('Jerry inject: ' + myname);
   }

这个myname通过注解@Inject修饰,id为apiUrl.

谁负责注入apiUrl呢?在app module里:

  providers: [{ provide: JerrySandBoxService },
  { provide: GreetingService, useClass: EnglishGreetingService},
  {
    provide: 'apiUrl',
    useValue: 'http://localhost:4200/heros'
  }],

运行时: