2017-07-26 40 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 
] 
相关问题