如何在自定义 class Angular 中注入依赖?

How to inject dependency in custom class Angular?

我有 Angular 服务:

@Injectable({
    providedIn: 'root',
})
export class Services {
     public service1 = new Service1();
}

其中 class Service1 是:

export class Service1 {
    public http: HttpRequests;
    public repositoryModel: RepositoryModel;

    constructor() {
        this.repositoryModel = new RepositoryModel();
        this.http = new HttpRequests(this.repositoryModel);
    }
}

而class HttpRequests是:

export class HttpRequests {
    constructor(private httpClient: HttpClient, private repository: RepositoryModel) {
}

问题是 HttpRequest 取决于 private httpClient: HttpClient 所以我需要在上面传递实例:

this.http = new HttpRequests(<here>, this.repositoryModel);

怎么做?

我不想从 export class Services {}

开始的顶层折腾 httpClient 依赖

在导入数组中的模块中导入 HttpClientModule。

然后将您的服务更改为:-

export class Service1 {
    public http: HttpRequests;
    public repositoryModel: RepositoryModel;

    constructor(private httpClient?: HttpClient) {
        this.repositoryModel = new RepositoryModel();
        this.http = new HttpRequests(this.httpClient, this.repositoryModel);
    }
}