簡體   English   中英

將http定義為DI會給出EXCEPTION:未捕獲(按承諾):錯誤:DI錯誤

[英]defining http as DI gives EXCEPTION: Uncaught (in promise): Error: DI Error

我正在嘗試使用private http: Http ,它給了我error_handler.js:54 EXCEPTION: Uncaught (in promise): Error: DI Error

我在組件中使用http

component.ts

import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
import { Http} from '@angular/http';
import {Observable,Subscription} from 'rxjs/Rx';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import { NouiFormatter } from 'ng2-nouislider';
import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
@Component({
  selector: 'app-char-maker',
  templateUrl: './char-maker.component.html',
  styleUrls: ['./char-maker.component.css']
})
export class CharMakerComponent implements OnInit {
  constructor(
    private formBuilder: FormBuilder,
    private http: Http)
  { 
    var obj;
  }
  ngOnInit() {

}
}

如果我在構造函數中注釋private http: Http ,錯誤將消失。 我在這里想念的是什么?

您需要在導入下添加HttpModule

@NgModule({
    imports: [
       HttpModule
]

對於Angular v 4.3

您可以使用HttpClientModule 從導入

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

並將其添加到您的導入中

 imports: [
 HttpClientModule,
  //... more code
  ]

對於<v4.3

您可以只使用HttpModule並將其從

import { HttpModule }    from '@angular/http'

並將其添加到您的導入中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM