2017-04-25 38 views
21
için sağlayıcınız yok

Http'yi içe aktaran bir hizmetim var ve uygulamayı kullanırken kullandığımda hata veriyor. "Http! Sağlayıcısı yok! G injectionError hatası". Ben uygulamayı tembelleştiriyorum. Ayrıca sağlayıcı "ionic g provider ..."Angular 4 ve Ionic 3 HTTP

şikayet-service.ts cli yoluyla

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(); 
    } 

} 

şikayet-form.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 { 

} 

herhangi bir öneriniz oluşturulmuştur?

+1

'Http' sizin modül – devqon

+0

@devqon içinde' providers' için - biz geç yükleme sırasında gerek yok Ayrıca? – abhiklpm

+0

İyonic'in doğal eklentilerinden ** Http ** ** ile Angular'den ** HTTP '** arasındaki farka dikkat edin. İkincisine 'sağlayıcı hatası yok' olması durumunda, 'irari-native'_ içinden' HTTP '- _dosyasını' app.module.ts' içine alınabilir. –

cevap

59

Sen modülü (/app.module.ts) için HttpModule kayıt vardır: Kayıt zorunda

import { HttpModule} from '@angular/http'; 

@NgModule({ 
    imports: [ 
    HttpModule 
    ], 
    declarations: [ AppComponent ], 
    bootstrap: [ AppComponent ] 
}) 
export class AppModule { 
} 
+0

Bu kodu nereye yazmalıyım? – malhobayyeb

+3

Uygulama modül sınıfınızın – devqon

+0

tanımlandığı ts dosyasında bu kodu projemde: 'testIonic/src/app/app.module.ts' içine ekleyin ve işe yarar :) –