未捕获(承诺(: 错误:没有 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/');
}
}
模块.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! 的提供程序! 在注入错误 (http://localhost:8100/build/vendor.js:1788:90( 在 noProviderError
更新:在 App.module.ts 中添加提供程序后修复了错误
根本不建议这样做。切勿将HTTP
注入页面constructor()
。这是一种反模式。您需要为此创建一个provider
。之后,您可以将该提供程序注入到您的page
中。
命令行界面
ionic generate provider MyProvider