【发布时间】:2020-06-03 09:46:18
【问题描述】:
使用 Angular 6 和 Typescript 2.7。我有一个带有构造函数的类,当我从控制器创建实例时,我将参数传递给它。这个类还有一个需要注入的服务。但是随后创建实例的控制器需要将服务作为参数提供。这是常见的还是有办法只在类中注入服务而不是构造函数。我在其他帖子中读到构造函数只能用于注入依赖项。
所以我有一个接受简单字符串参数的配置类。
export class Configuration{
//public uiService: UiService;
public configName:string;
public configType: ConfigType;
public shape:any;
constructor(_configName: string, _configType: ConfigType){
this.configName = _configName;
this.configType = _configType;
....
我从我的控制器创建这个类的一个新实例,如下所示:
let config = new Configuration("NEWconfiguration", configType);
我有一个公共服务,其中包含我需要在配置类中使用的实用程序功能。阅读这里和其他网站,我发现这应该通过构造函数注入。因此,我的配置构造函数将包含服务的新参数,然后控制器将注入它。但是该服务未在控制器中使用,因此我不想将其包含在其中。
Configuration 类中有没有一种方法可以在不使用构造函数的情况下访问服务?或者这是不好的做法。我想我可以在 Configuration 类中创建服务的实例,或者使服务中的函数成为静态的,但是我没有使用依赖注入。这有关系吗?
【问题讨论】:
标签: angular typescript