Angular 2 DI,使用自定义Http

内森·库珀(Nathan Cooper)

我有使用Http的服务:

import { Injectable }     from '@angular/core';
import { Inject } from '@angular/core';
import { Http, Headers, Response } from '@angular/http';

@Injectable()
export class OrdersService {
    constructor(@Inject(Http) private http:Http) {}
    ...
}

以及使用它的组件

import { Component } from '@angular/core';
import { FormBuilder, Validators } from '@angular/common';
import { HTTP_PROVIDERS } from '@angular/http';
import { Router} from '@angular/router';

import { OrdersService } from '../services/orders.service'

@Component({
  selector: 'login',
  templateUrl: './login.component.html',
  providers: [
      HTTP_PROVIDERS, //{ provide: Http, useClass: Http }
      AuthService, AuthStore,
      OrdersService
  ]
})
export class LoginComponent {

    constructor(private authService: AuthService, private ordersService: OrdersService){}
      ....
}

这行得通。我有一些注释掉的文本{提供:Http,useClass:Http}。我想在这里提供扩展Http的我自己的类,但仍然具有相同的依赖关系。我在这里采取的第一步是显式使用Http。

一旦取消注释此文本(并添加http导入),一切就会中断。我得到了错误"No provider for ConnectionBackend"看来HTTP_PROVIDERS刚刚停止充当提供者。

  • 如何显式使用Http?
  • 如何使用自己的CustomHttp和HTTP_PROVIDERS中的提供程序?
斯蒂芬·斯沃科塔(Stefan Svrkota)

在使用自己的时CustomHttp,不需要使用HTTP_PROVIDERS,您需要执行以下操作(如果使用RC5,则在app.module.ts中;如果使用RC4,则在main.ts中):

providers: [
    ConnectionBackend,
    provide(
        Http, {
            useFactory: (
                backend: XHRBackend,
                defaultOptions: RequestOptions) =>
                new CustomHttp(backend, defaultOptions),
            deps: [XHRBackend, RequestOptions]
        }),
]

我有同样的问题,这为我解决了。

编辑:

你并不需要进口HTTP_PROVIDERS,如果你正在使用RC5,因为您将导入HttpModule,但我完全不记得,如果你需要HTTP_PROVIDERS在RC4。您可能会需要它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 angular 2 中使用自定义 http 刷新访问令牌?

来自分类Dev

使用ngFor处理自定义指令-Angular2

来自分类Dev

在自定义 RadioButton 中使用 BehaviorSubject 的 Angular 2

来自分类Dev

在angular2的自定义Http中未定义注入的Logger

来自分类Dev

angular 2自定义指令OnInit

来自分类Dev

自定义管道在Angular 2中

来自分类Dev

消费angular 2自定义库

来自分类Dev

扩展http类用于自定义用法ionic2 / Angular2导致错误

来自分类Dev

Angular 2 RC 5引导程序自定义HTTP类

来自分类Dev

Http在Angular 2自定义异步验证中不起作用

来自分类Dev

自定义HTTP类Angular 2来更改基本URL并设置超时

来自分类Dev

扩展http类并访问自定义属性(Angular2打字稿)

来自分类Dev

扩展http类并访问自定义属性(Angular2打字稿)

来自分类Dev

自定义HTTP类Angular 2来更改基本URL并设置超时

来自分类Dev

在 Angular 2 中读取自定义 HTTP 响应标头

来自分类Dev

Angular2 中的自定义 Http 服务。循环依赖错误

来自分类Dev

Angular2自定义输入-必须定义令牌

来自分类Dev

Angular 2-如果使用自定义验证,为什么需要使用ngForm?

来自分类Dev

如何在Dart中使用Angular2实现自定义验证器?

来自分类Dev

在Angular 2(RC5)中使用多个自定义模块

来自分类Dev

如何使用动态名称创建Angular 2自定义属性指令?

来自分类Dev

将自定义组件与Angular2结合使用时,JQueryUI Sortable无法正常工作

来自分类Dev

Angular2:使用自定义装饰器或批注将提供程序注入组件吗?

来自分类Dev

Angular2在自定义管道中使用基本管道

来自分类Dev

使用自定义验证程序ng-valid类进行Angular 2表单验证

来自分类Dev

angular2 –通过自定义管道使用全局服务

来自分类Dev

如何通过ng2-charts angular使用chartJs的自定义渲染方法?

来自分类Dev

使用自定义验证程序ng-valid类进行Angular 2表单验证

来自分类Dev

Angular2:在组件视图中通过ngIf使用自定义时间

Related 相关文章

  1. 1

    如何在 angular 2 中使用自定义 http 刷新访问令牌?

  2. 2

    使用ngFor处理自定义指令-Angular2

  3. 3

    在自定义 RadioButton 中使用 BehaviorSubject 的 Angular 2

  4. 4

    在angular2的自定义Http中未定义注入的Logger

  5. 5

    angular 2自定义指令OnInit

  6. 6

    自定义管道在Angular 2中

  7. 7

    消费angular 2自定义库

  8. 8

    扩展http类用于自定义用法ionic2 / Angular2导致错误

  9. 9

    Angular 2 RC 5引导程序自定义HTTP类

  10. 10

    Http在Angular 2自定义异步验证中不起作用

  11. 11

    自定义HTTP类Angular 2来更改基本URL并设置超时

  12. 12

    扩展http类并访问自定义属性(Angular2打字稿)

  13. 13

    扩展http类并访问自定义属性(Angular2打字稿)

  14. 14

    自定义HTTP类Angular 2来更改基本URL并设置超时

  15. 15

    在 Angular 2 中读取自定义 HTTP 响应标头

  16. 16

    Angular2 中的自定义 Http 服务。循环依赖错误

  17. 17

    Angular2自定义输入-必须定义令牌

  18. 18

    Angular 2-如果使用自定义验证,为什么需要使用ngForm?

  19. 19

    如何在Dart中使用Angular2实现自定义验证器?

  20. 20

    在Angular 2(RC5)中使用多个自定义模块

  21. 21

    如何使用动态名称创建Angular 2自定义属性指令?

  22. 22

    将自定义组件与Angular2结合使用时,JQueryUI Sortable无法正常工作

  23. 23

    Angular2:使用自定义装饰器或批注将提供程序注入组件吗?

  24. 24

    Angular2在自定义管道中使用基本管道

  25. 25

    使用自定义验证程序ng-valid类进行Angular 2表单验证

  26. 26

    angular2 –通过自定义管道使用全局服务

  27. 27

    如何通过ng2-charts angular使用chartJs的自定义渲染方法?

  28. 28

    使用自定义验证程序ng-valid类进行Angular 2表单验证

  29. 29

    Angular2:在组件视图中通过ngIf使用自定义时间

热门标签

归档