2017-07-26 4 views
1

Ich versuche private http: Http zu verwenden und es gibt mir error_handler.js:54 EXCEPTION: Uncaught (in promise): Error: DI Errordefinieren http als DI gibt AUSNAHME: Uncaught (in Versprechen): Fehler: DI Fehler

Ich verwende http in meiner Komponente

Komponente .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() { 

} 
} 

Wenn ich private http: Http in Konstruktor Kommentar weg der Fehler geht. Was fehlt mir hier?

+0

haben Sie das HTTP-Modul importiert? –

+0

Sie müssen vergessen haben, HttpModule in Ihrer Datei app.module.ts hinzuzufügen. –

+0

zeigen Sie Ihre app.module.ts – brijmcq

Antwort

1

Für Angular v 4.3

Sie die HttpClientModule verwenden können. Importieren aus

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

und fügen Sie diese zu Ihrer Importe

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

Für < v4.3

Sie einfach die HttpModule verwenden können und importieren sie aus

import { HttpModule } from '@angular/http' 

und fügen Sie es zu yo hinzu Ihre Importe

1

Sie benötigen HttpModule unter Einfuhren hinzuzufügen,

@NgModule({ 
    imports: [ 
     HttpModule 
]