0

语境:

我有一个类将为我的 REST Api 形成 POST 请求,我们称之为requester。在我的应用程序中进行的每个 ajax 调用都将通过它发送。因此,我不想通过它提供 Http,bootstrap(foo, [HTTP_PROVIDERS]);这会使它成为全球性的,我需要将它注入到请求者

代码:

import {Http} from '@angular2/http';
@Injectable()
@Component({providers: [Http]})
export class requester {
    constructor(private http:Http){}
    ...
}

错误:

原始例外:没有 Http 的提供者!(请求者 -> Http)

4

3 回答 3

1

试试这个

import {Http, HTTP_PROVIDERS} from '@angular2/http';

    @Component({
          ....
           providers: [HTTP_PROVIDERS]
            ....})
    export class requester {
        constructor(private http:Http){}
        ...
    }

假设您的请求缺少提供者

于 2016-07-27T18:59:56.953 回答
0

像这样解决

import { Http, Response } from '@angular/http';
export class LoginService {

  constructor(private http: Http) {

  }
}

或像这样使用它

public constructor(@Inject(Http)  private http: Http) {}
于 2016-07-27T18:52:11.347 回答
0

假设requester是一项服务。

每个Component使用您的服务requester的人都必须参考HTTP_PROVIDERS

import {HTTP_PROVIDERS} from '@angular2/http';

@Component({
  ...
  providers: [HTTP_PROVIDERS, requester],
  ...
})

export class MyComponent{
  constructor(private _req: requester) {
  }
}
于 2016-07-27T19:06:32.217 回答