Tengo un servicio que importa Http, y cuando lo uso en mi aplicación arroja un error. "¡ No hay proveedor para Http! Error en g injectionError ". Estoy cargando la aplicación de forma diferida. También se generó el proveedor a través de cli " ionic g provider ... "
servicio-de-quejas.ts
import { Injectable } from '@angular/core'; import { Http } from '@angular/http'; import 'rxjs/add/operator/map'; @Injectable() export class ComplaintService { private complaints: {subject: string, description: string}[] = []; constructor(public http: Http) { this.http = http; this.complaints = null; console.log('Hello ComplaintService Provider'); } addComplaints(complaint: {subject: string, description: string}) { this.complaints.push(complaint); } getComplaints() { return this.complaints.slice(); } }formulario-de-queja.ts
import { Component } from '@angular/core'; import {Validators, FormBuilder, FormGroup } from '@angular/forms'; import { IonicPage, NavController, NavParams } from 'ionic-angular'; import {ComplaintService} from '../../providers/complaint-service'; @IonicPage() @Component({ selector: 'page-complaint-form', templateUrl: 'complaint-form.html', providers: [ComplaintService] }) export class ComplaintForm { }¿Alguna sugerencia?
Tienes que registrar HttpModule en tu módulo ( /app.module.ts ):
import { HttpModule} from '@angular/http'; @NgModule({ imports: [ HttpModule ], declarations: [ AppComponent ], bootstrap: [ AppComponent ] }) export class AppModule { }Agregue HTTP a la lista de proveedores también. (al AppModule de aplicación)
import { HTTP } from '@ionic-native/http';Y
providers: [ ..., HTTP ]Trabajando con Angulat5+, Ionic 3+
HttpModule está obsoleto en la última versión de ionic3 y Angular5. Entonces, debe usar HttpClientModule en lugar de HttpModule. Otras cosas serán las mismas que la respuesta de @devqon. Después de eso, puede usar HttpClient en su servicio o archivo de componente.
Para obtener más información, consulte el documento original de Angular.
import {HttpClientModule} from "@angular/common/http"; @NgModule({ imports: [ HttpClientModule ], declarations: [ AppComponent ], bootstrap: [ AppComponent ] }) export class AppModule { }