Angular2 在没有 Bootstrap 的情况下注入 Http
Angular2 Inject Http Without Bootstrap
上下文:
我有一个 class 将形成 POST 对我的 REST Api 的请求,我们称它为 requester。在我的应用程序中进行的每个 ajax 调用都将通过此发送。因此,我不想通过 bootstrap(foo, [HTTP_PROVIDERS]);
提供 Http 这将使它成为全球性的,我需要将它注入到 requester
代码:
import {Http} from '@angular2/http';
@Injectable()
@Component({providers: [Http]})
export class requester {
constructor(private http:Http){}
...
}
错误:
ORIGINAL EXCEPTION: No provider for Http! (requestor -> Http)
这样解决
import { Http, Response } from '@angular/http';
export class LoginService {
constructor(private http: Http) {
}
}
或者像这样使用
public constructor(@Inject(Http) private http: Http) {}
试试这个
import {Http, HTTP_PROVIDERS} from '@angular2/http';
@Component({
....
providers: [HTTP_PROVIDERS]
....})
export class requester {
constructor(private http:Http){}
...
}
假设您的请求缺少提供者
假设 requester
是一项服务。
使用您的服务requester
的每个Component
必须参考HTTP_PROVIDERS
:
import {HTTP_PROVIDERS} from '@angular2/http';
@Component({
...
providers: [HTTP_PROVIDERS, requester],
...
})
export class MyComponent{
constructor(private _req: requester) {
}
}
上下文:
我有一个 class 将形成 POST 对我的 REST Api 的请求,我们称它为 requester。在我的应用程序中进行的每个 ajax 调用都将通过此发送。因此,我不想通过 bootstrap(foo, [HTTP_PROVIDERS]);
提供 Http 这将使它成为全球性的,我需要将它注入到 requester
代码:
import {Http} from '@angular2/http';
@Injectable()
@Component({providers: [Http]})
export class requester {
constructor(private http:Http){}
...
}
错误:
ORIGINAL EXCEPTION: No provider for Http! (requestor -> Http)
这样解决
import { Http, Response } from '@angular/http';
export class LoginService {
constructor(private http: Http) {
}
}
或者像这样使用
public constructor(@Inject(Http) private http: Http) {}
试试这个
import {Http, HTTP_PROVIDERS} from '@angular2/http';
@Component({
....
providers: [HTTP_PROVIDERS]
....})
export class requester {
constructor(private http:Http){}
...
}
假设您的请求缺少提供者
假设 requester
是一项服务。
使用您的服务requester
的每个Component
必须参考HTTP_PROVIDERS
:
import {HTTP_PROVIDERS} from '@angular2/http';
@Component({
...
providers: [HTTP_PROVIDERS, requester],
...
})
export class MyComponent{
constructor(private _req: requester) {
}
}