2017-11-11 149 views
1

未捕获(承诺):错误:没有提供程序的Http!错误:没有提供程序的Http!在injectionError没有Http的提供商!错误:没有提供程序的Http!在注入错误

组件文件:

import { Component,Injectable } from '@angular/core'; 
import { HttpModule, Http } from '@angular/http'; 
import { IonicPage, NavController, NavParams, AlertController } from 'ionic-angular'; 
import { Observable } from 'rxjs/Observable'; 
import 'rxjs/add/operator/map'; 
import { Camera } from 'ionic-native' 
import firebase from 'firebase' 

@IonicPage() 
@Component({ 
    selector: 'page-user-main', 
    templateUrl: 'user-main.html', 
}) 
export class UserMainPage { 
    picdata:any 
    picurl:any 
    mypicref:any 
    public people: any; 

    constructor(public navCtrl: NavController, public navParams: NavParams, 
    public alertCtrl: AlertController, public http: Http 
    ) { 
    // this.films = this.http.get('http://0.0.0.0:3000/'); 
    } 
} 

module.ts

import { BrowserModule } from '@angular/platform-browser'; 
import { NgModule } from '@angular/core'; 
import { HttpModule, Http } from '@angular/http'; 
import { IonicPageModule } from 'ionic-angular'; 

@NgModule({ 
    declarations: [ 
    UserMainPage, 
    ], 
    imports: [ 
    BrowserModule, 
    IonicPageModule.forChild(UserMainPage), 
    HttpModule 
    ]}) 
export class UserMainPageModule {} 

运行时错误 未捕获的(在承诺):错误:没有供应商对于HTTP!错误:没有提供程序的Http!在injectionError(http://localhost:8100/build/vendor.js:1788:90)在noProviderError

UPDATE:错误App.module.ts

+0

尝试'从进口{HTTP模块} '@角/ HTTP';'从进口CALSS除去'Http'。 – hrdkisback

回答

0

添加提供程序后解决了这个问题,不建议在所有。您绝不能将HTTP注入您的页面的constructor()。这是一个反模式。您需要为此创建一个provider。之后,您可以将该提供程序注入您的page

CLI

ionic generate provider MyProvider 
相关问题