【问题标题】:angular2 No provider for Http in Angular v4 [duplicate]angular2在Angular v4中没有Http提供者[重复]
【发布时间】:2018-02-22 20:31:57
【问题描述】:
import {Http, HTTP_PROVIDERS} from '@angular/http';

当我使用http 时,我收到“No provider for Http”的错误,

然后我导入 HTTP_PROVIDERS 但 HTTP_PROVIDERS 没有导出成员

【问题讨论】:

  • 阅读文档并按照教程进行操作。

标签: angular


【解决方案1】:

我在插入 http 时创建了 plunker。阅读更多关于http module

import {HttpClientModule} from '@angular/common/http';

@NgModule({
 imports: [ BrowserModule, HttpClientModule ],
 declarations: [ App ],
 bootstrap: [ App ]
})
export class AppModule {}

【讨论】:

  • 对不起,这行不通
  • :-) 这就是我创建 plunker 的原因。显示它有效。无论如何要使用它,您应该编写构造函数(私有 http:HttpClient){}
  • 因为旧客户端将被弃用。
  • 喜欢这个?从“@angular/common/http”导入 {HttpClient};构造函数(私有http:HttpClient){console.log(this.http);它仍然无法使用错误“没有 HttpClient 的提供者”
  • 你是否完成了这一行的导入:[ BrowserModule, HttpClientModule ],
【解决方案2】:

HTTP_PROVIDERS 在当前版本中已被弃用。 但是您使用哪个版本的 angular cli、angular 编译器和 angular core? 在最新版本中,你必须使用这个:

/* in app.module.ts */
import { HttpModule } from '@angular/http';


@NgModule({
  imports: [BrowserModule, HttpModule],
  ....
}

【讨论】:

  • @angular/cli: 1.3.2 node: 6.11.0 os: win32 x64 @angular/animations: 4.3.6 @angular/common: 4.3.6 @angular/compiler: 4.3.6 @角度/核心:4.3.6 @angular/forms:4.3.6 @angular/http:4.3.6 @angular/platform-b​​rowser:4.3.6 @angular/platform-b​​rowser-dynamic:4.3.6 @angular/router: 4.3.6 @angular/cli: 1.3.2 这是我的 Angular 版本,只导入 HttpModule 不起作用
  • 嗨 toney,正如我评论的那样,您必须使用 HttpModule,然后将其导入 @NgModule。
猜你喜欢
  • 2016-12-18
  • 2023-04-09
  • 2016-06-13
  • 1970-01-01
  • 2018-02-10
  • 2017-02-14
  • 1970-01-01
  • 2016-04-06
  • 2017-01-31
相关资源
最近更新 更多