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