2017-07-26 41 views
1

我試圖用private http: Http,這讓我 error_handler.js:54 EXCEPTION: Uncaught (in promise): Error: DI Error定義HTTP作爲DI給出例外:未捕獲的(在承諾):錯誤:DI錯誤

我在我的組件

組件使用http .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錯誤消失。 我在這裏錯過了什麼?

+0

你有導入http模塊嗎? –

+0

您一定忘了在app.module.ts文件中添加HttpModule。 –

+0

顯示你的app.module.ts – brijmcq

回答

1

對於角度v 4.3

可以使用HttpClientModule。從

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

導入並添加到您的進口

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

對於< V4.3

您可以只使用HttpModule

import { HttpModule } from '@angular/http' 
導入

並將其添加到喲你的進口

1

您需要添加HttpModule下的進口,

@NgModule({ 
    imports: [ 
     HttpModule 
] 
相關問題