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

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

    constructor(private _testService:TestService) {
    }

如您所见,我在组件中添加了HTTP_PROVIDERS提供程序。之所以可行,是因为DI现在知道了http类。但是,真正使用TestService类的是我的Http,而不是我的TestComponent
@Injectable()
export class TestService {

    constructor(private _http:Http) {
    }

我觉得由于这是使用Http类的服务,因此它应该是本身包含提供程序的服务。 TestComponent不知道提供者TestService将需要什么。

由于服务类没有该组件装饰器,因此我不确定如何实际向其添加提供程序。如何将提供程序添加到Service类?

最佳答案

你能做的是,

HTTP_PROVIDERS注入(inject)bootstrap function

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

为您服务
import {Http} from '@angular/http';

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

10-05 22:21