javascript - 如何将提供程序添加到 Angular 2 中的服务类?

标签 javascript angular angular2-services angular2-providers

我有一个使用服务的组件。该组件看起来像这样:

@Component({
    moduleId: module.id,
    selector: 'test',
    providers: [HTTP_PROVIDERS, TestService]
})
export class TestComponent implements OnInit {

    constructor(private _testService:TestService) {
    }

如您所见,我在我的组件中添加了 HTTP_PROVIDERS 提供程序。这是有效的,因为 DI 现在知道 http 类。但是,真正使用 Http 类的是我的 TestService,而不是我的 TestComponent

@Injectable()
export class TestService {

    constructor(private _http:Http) {
    }

我觉得既然是使用Http类的服务,就应该是包含provider本身的服务。 TestComponent 不知道 TestService 需要什么提供者。

由于服务类没有那个组件装饰器,我不确定如何才能真正向它添加提供程序。如何将提供程序添加到 Service 类?

最佳答案

你可以做的是,

HTTP_PROVIDERS 注入(inject)到 bootstrap 函数 ,

import {HTTP_PROVIDERS} from '@angular/http';
bootstrap(AppComponent,[HTTP_PROVIDERS]);

在您的服务中,

import {Http} from '@angular/http';

@Injectable()
export class TestService {
    constructor(private _http:Http) {}
}

关于javascript - 如何将提供程序添加到 Angular 2 中的服务类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38289717/

相关文章:

javascript - 如何在nodejs中使用Tesseract.recognize

javascript - Angular Bootstrap 多个预输入组件轻拂

Angular 2 - 你会如何订阅多个变量?

angular - 类型 'forkJoin' 上不存在属性 'typeof observable' - angular2

javascript - 丢失的 ;在 for 循环初始化程序之后

javascript - 覆盖图像覆盖自定义 Google map 网络中的标记

javascript - Ionic 3 JavaScript 堆内存不足

Angular 编码散列片段 : How to prevent it?

angular - 在 Angular 5 中使用基本授权保存图像

angular - 在 Angular 2 中创建全局服务变量