我有一个使用服务的组件。该组件看起来像这样:
@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) {}
}