上下文
我有一个类要为我的REST Api形成POST请求,让我们称之为 requester 。在我的应用程序中进行的每个ajax调用都将通过此方式发送。因此,我不希望通过bootstrap(foo, [HTTP_PROVIDERS]);
提供Http这将使其全局化,我需要将它注入请求者
代码:
import {Http} from '@angular2/http';
@Injectable()
@Component({providers: [Http]})
export class requester {
constructor(private http:Http){}
...
}
错误:
原始例外:没有Http的提供商! (请求者 - > Http)
答案 0 :(得分:1)
尝试这个
import {Http, HTTP_PROVIDERS} from '@angular2/http';
@Component({
....
providers: [HTTP_PROVIDERS]
....})
export class requester {
constructor(private http:Http){}
...
}
假设您的请求缺少提供商
答案 1 :(得分:0)
像这样解决它
import { Http, Response } from '@angular/http';
export class LoginService {
constructor(private http: Http) {
}
}
或像这样使用
public constructor(@Inject(Http) private http: Http) {}
答案 2 :(得分:0)
假设requester
是服务。
使用您的服务Component
的每个requester
必须引用HTTP_PROVIDERS
:
import {HTTP_PROVIDERS} from '@angular2/http';
@Component({
...
providers: [HTTP_PROVIDERS, requester],
...
})
export class MyComponent{
constructor(private _req: requester) {
}
}