2017-11-11 151 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 
相關問題