如何解决Angular:将一个服务注入到另一个服务中
我的服务 1 依赖于其他服务 2。
Service2 在其构造函数中有一个参数。
像这样在service1的构造函数中声明service2时
constructor(private service : service2) {...}
我有以下错误:未提供 service1 的参数。
此处Angular 2: Inject Service to another service. (No provider error) 的解决方案包括将 service2 放入 app.module 提供程序中,适用于我的组件,但不适用于 service1。我钢铁有错误:未提供“service2”的参数。
了解更多详情:
服务 2:
import { HttpClient,HttpHeaders } from '@angular/common/http';
import { BehaviorSubject,Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class ApiService {
baseUrl = "http://127.0.0.1:8000";
httpHeaders = new HttpHeaders({ 'Content-Type': 'application/json' })
dataSource: BehaviorSubject<any> = new BehaviorSubject([]);
list: Array<any> = [];
constructor(private http: HttpClient) {
}
...
}
服务 1:
import { Injectable } from '@angular/core';
import { Observable,Subject } from 'rxjs';
import { ApiService } from './api.service';
@Injectable({
providedIn: 'root'
})
export class FlowsheetEditorService {
//declarations ...
// httpHeaders = new HttpHeaders({ 'Content-Type': 'application/json' })
constructor(private api : ApiService) { ...}
}
在应用模块中:
提供者:[ApiService],
引导程序:[AppComponent]
你知道原因吗?你能帮忙吗?
我不知道这是否重要,但我将所有服务放在 /app 文件夹中的一个文件夹中。
谢谢
解决方法
您必须将服务注入服务然后注入客户并在服务内部使用另一个服务功能
,问题是我在没有参数的情况下在我的项目中的某处初始化了服务:不应该这样做,因为 angular 初始化了服务
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。