2016-11-18 1 views
0

나는 서비스 계층에서 HTTP를 사용해야하는 프로젝트에서 작업 중입니다. 나는 그러나, 나는 보통 때와 같이 생성자에서 HTTP를 주입하려고 아래 나는 다음과 같은 오류를 얻고있다 ionic build ios을하려고 할 때 :의존성 주입으로 인해 빌드가 끊어짐

[08:54:51] Error: Error at /Users/zzz/Sites/angular-app/Test-Wondersign/.tmp/pages/home/home.ngfactory.ts:64:29 
[08:54:51] Supplied parameters do not match any signature of call target. 
[08:54:51] ngc failed 
[08:54:51] ionic-app-script task: "build" 
[08:54:51] Error: Error 

home.ts

import { Component } from '@angular/core'; 
import { NavController } from 'ionic-angular'; 
import { HomeService } from '../home/home.service'; 

@Component({ 
    selector: 'page-home', 
    templateUrl: 'home.html', 
    providers: [HomeService] 
}) 
export class HomePage { 

    users: any; 

    constructor(public navCtrl: NavController, public hs: HomeService) { 
    this.loadUsers(); 

    } 

    loadUsers() { 
    this.hs.getUsers().then((response) => { 
     this.users = JSON.parse(response._body); 
    }); 
    } 
} 

home.service. TS

import { Http,Headers, RequestOptions } from '@angular/http'; 
import {Inject} from '@angular/core'; 

export class HomeService { 
    url:string; 
    constructor(@Inject(Http) public http: Http) { 
     this.url ='https://jsonplaceholder.typicode.com/users'; 
    } 

    getUsers(): Promise<any> { 
     return new Promise((resolve, reject) => { 

      this.http.get(this.url).subscribe(result => { 
       resolve(result); 
      }); 
     }); 
    } 
} 

home.html을

<ion-header> 
    <ion-navbar> 
    <ion-title>Home</ion-title> 
    </ion-navbar> 
</ion-header> 

<ion-content padding> 
    <div *ngFor="let user of users"> 
    {{ user.name}} {{ user.email}} 
    </div> 
</ion-content> 
+1

HomeService에 @ 주사 할 수있는 주석을 달지 않아야합니까? – toskv

+0

@toskv, 제안 주셔서 감사합니다, 당신이 옳았어요! 그건 정확히 문제였습니다. – AnchovyLegend

+1

나는 답을 만들었습니다. 정확한 답으로 표시해주세요. :) – toskv

답변

1

귀하의 HomeService에는 @ 주사 할 수있는 주석이 있어야합니다.

관련 문제